X



WPF(.NET, WinUI) GUIプログラミング Part32
0355デフォルトの名無しさん
垢版 |
2024/02/09(金) 16:16:42.24ID:GaqK7h15
>>343
もちろんステップ数が多ければいいって訳じゃないけども、
変化があったら何か理由があって修正したはずってのを管理したいだけなのです
0358デフォルトの名無しさん
垢版 |
2024/02/10(土) 01:51:05.15ID:ghsIMPAY
>>351
CommunityToolkit.Mvvm(旧Microsoft.Toolkit.Mvvm)がもっと早く出ていればな
Prismは必要以上に肥大化して複雑になり過ぎた
0359デフォルトの名無しさん
垢版 |
2024/02/10(土) 12:18:18.76ID:siL8f8mn
何がしたいのかいまいちわからないけどワークスペースのライン数数えたいなら今はcloc一択じゃないかな
0360デフォルトの名無しさん
垢版 |
2024/02/15(木) 23:48:07.50ID:sIh+C39m
1.5は大型アップデートのようだな
開発体制変更でだいぶ変わったんだろうか
0361デフォルトの名無しさん
垢版 |
2024/02/16(金) 15:28:06.91ID:25EHl0Ar
>>360
WindowsAppRuntimeのインストール権限の仕組みが良く分からん
管理者権限は要らない、が正解で良いんだよね?
0362デフォルトの名無しさん
垢版 |
2024/02/21(水) 12:32:37.21ID:PFGf4NHy
.net frameworkと.net
なんでこんな紛らわしい名前つけるのか
.net coreでよかったじゃん
0364デフォルトの名無しさん
垢版 |
2024/02/23(金) 04:15:46.12ID:U6VjGFFM
実際5.0になり、4.8を数字的に越えたからCoreと付けるのやめたんやしなぁ。
0365デフォルトの名無しさん
垢版 |
2024/02/23(金) 04:47:46.51ID:wRMoGqp+
.NET Core 3.1の次だから本来4.0になるところを紛らわしいからスキップして5にしただけで
当初は超えてなかった
0366デフォルトの名無しさん
垢版 |
2024/02/23(金) 17:01:41.10ID:mMXFzxMZ
1.4のランタイムがMSStoreの更新してくれるアプリの扱いになってるから管理者権限なんていらないんじゃないの
0370デフォルトの名無しさん
垢版 |
2024/02/26(月) 05:52:13.71ID:ty4kadJF
俺もVB6のシリアル通信コントロール使ったアプリをWpfのC#でリメイクしたよ。
0371デフォルトの名無しさん
垢版 |
2024/02/26(月) 08:21:39.66ID:XWJtja4N
企業の設備がWndowsXPでVB6というのが膨大にある。
さすがにN88BASICは少なくなったが、その手の案件は、中抜き業者が手を出さない。
となると企業とダイレクト契約になり、利益率が高い。
契約してしまえば、WPFでもWINUI3案件でも、小規模は見積り有利な方に注文が来る。
ただ、VB6に比較して利益率低いので、普通はVB6案件しかとらない。
0372デフォルトの名無しさん
垢版 |
2024/02/26(月) 11:26:24.39ID:pWCmHinc
ダー
0374デフォルトの名無しさん
垢版 |
2024/02/26(月) 14:03:44.02ID:Y4jRoRGa
そのうちジワリと4.8.2とかなりそうよな。
4.9までいくとはおもわんが、4.8.4くらいまではいくと思う
0377デフォルトの名無しさん
垢版 |
2024/03/11(月) 00:55:23.89ID:HkYrCely
親Windowから子Windowを開くのってMVVM的にはどう書くのが標準的なの?
普通にViewのイベント拾ってコードビハインドで子Window開いてやればええの?
0380デフォルトの名無しさん
垢版 |
2024/03/11(月) 12:51:12.10ID:wdmrI2rW
多用しないならそれで十分感はある
0382デフォルトの名無しさん
垢版 |
2024/03/11(月) 13:00:05.68ID:Nab3g2JD
子Windowを開くというUI自体がWPF的でないという印象がある
どちらかというと、スマホUIのような画面遷移でどうにかするUIな印象
デスクトップアプリなんだから子Window開きたいというのも分かるけど
0384デフォルトの名無しさん
垢版 |
2024/03/11(月) 17:34:40.85ID:0kIYwJYj
リストビューのアイテムに隙間空いてんのかよ
クリックしても反応しねー時あるからおかしーとおもったわ
責任者出てこい
0385デフォルトの名無しさん
垢版 |
2024/03/12(火) 09:25:50.34ID:oMOjwN9V
Apple musicアプリ快適すぎワロタ
WinUI3だぜ?なんでAppleの方が作り方うまいんだよw
0387デフォルトの名無しさん
垢版 |
2024/03/12(火) 15:03:53.98ID:vyCpIdp2
MVVMの宗教上の問題だよ
親Windowのハンドルが必要だからVMでは開けない
コードビハインドは使用禁止なのでViewでも作れない
0390デフォルトの名無しさん
垢版 |
2024/03/12(火) 22:02:39.08ID:oG8PduKS
>コードビハインドは使用禁止なのでViewでも作れない

それは誤解。viewにあっていいものはコードビハインドに書けばいい。
0391デフォルトの名無しさん
垢版 |
2024/03/12(火) 22:10:08.06ID:Uh71kCat
別にコードビハインドで良いじゃん、使う側わ知ったもんじゃないよ。
0392デフォルトの名無しさん
垢版 |
2024/03/12(火) 22:32:52.40ID:EGXHS4/c
このスレの連中がいつまで経ってもコードビハインド論争してる時点でmicrosoftのmvvm推しが大失敗なのは言うまでも無い
ビヘービアなりトリガーアクションなりのアドバイスすら誰も出来ねえんだもん
終わってるよ
0393デフォルトの名無しさん
垢版 |
2024/03/12(火) 23:14:00.16ID:sVxHin9O
まあ結局コードビハインドにガッツリイベントハンドラ書くのがベストって結論出てるわな
どうせビジネスロジックは別クラスなんだし
MVVMは結局コードが爆発的に増えて本末転倒
0394デフォルトの名無しさん
垢版 |
2024/03/13(水) 09:36:12.76ID:wefPK65v
>>コードビハインドは使用禁止

諸悪の根元
誰が言ったか
全てはこれから始まった
0395デフォルトの名無しさん
垢版 |
2024/03/13(水) 10:20:38.22ID:sxGi6gEp
むしろViewがViewを開く話なんてVMがまったく預かり知らなくていいことだし、むしろ知ってはいけないことでは?
0396デフォルトの名無しさん
垢版 |
2024/03/13(水) 22:38:50.52ID:zeyBTnCB
WinUIですが
ViewModelのプロパティの値によって表示する
コントロールを切り替えるのはどうすればいいでしょうか
0397デフォルトの名無しさん
垢版 |
2024/03/13(水) 22:42:48.47ID:zeyBTnCB
例えば、そのプロパティの型は列挙型とします
まぁbool型でもいいですが

とりあえず必要なコントロールをcollapsedで非表示にして
BoolToVisibilityConverterで1つ制御?
0398デフォルトの名無しさん
垢版 |
2024/03/14(木) 00:11:12.71ID:YGbJEKVm
WinUI は DataTrigger ないんだっけか。
↓こんな感じのコンバーター作るとか?

public abstract class EqualsConverter<T> : IValueConverter
{
public EqualsConverter(T trueValue, T falseValue)
{
TrueThen = trueValue;
FalseThen = falseValue;
}

public T TrueThen { get; set; }
public T FalseThen { get; set; }

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
=> object.Equals(value, parameter) ? TrueThen : FalseThen;

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
=> throw new NotImplementedException();
}

public sealed class EqualsToVisibilityConverter : EqualsConverter<Visibility>
{
public EqualsToVisibilityConverter() : base(Visibility.Visible, Visibility.Collapsed)
{
}

public EqualsToVisibilityConverter(Visibility trueValue, Visibility falseValue) : base(trueValue, falseValue)
{
}
}
0399デフォルトの名無しさん
垢版 |
2024/03/14(木) 00:12:52.67ID:YGbJEKVm
使い方:

<Page.Resources>
<conv:EqualsToVisibilityConverter x:Key="EqualsThenVisible" />
<conv:EqualsToVisibilityConverter
x:Key="EqualsThenCollapsed"
TrueThen="Collapsed"
FalseThen="Visible" />
</Page.Resources>

<TextBox Visibility="{Binding ControlType, Converter={StaticResource EqualsThenVisible}, ConverterParameter={x:Bind namespace:ControlType.Text}}" />
<ComboBox Visibility="{Binding ControlType, Converter={StaticResource EqualsThenVisible}, ConverterParameter={x:Bind namespace:ControlType.Select}}" />
0401デフォルトの名無しさん
垢版 |
2024/03/14(木) 18:54:54.11ID:awMyQery
>>399
ありがとございます
ただ、単純なコントロールならいいんですが切り替えたいのが複雑なコントロールツリーなんです
要するに画面レイアウトごと切り替えるイメージです
その場合はCollapsedで見えないけどメモリ上にはある?のでよくない?
0404デフォルトの名無しさん
垢版 |
2024/03/14(木) 22:54:09.64ID:kLN7FaI/
根本的な設計が間違ってるに一票
0405デフォルトの名無しさん
垢版 |
2024/03/14(木) 23:28:34.59ID:kXnu57YL
エクスプローラみたいのを作りたいんか?
ざっくりアイコンビューみたいのと詳細ビューを切り替えとか

それとも違うのか?
0406デフォルトの名無しさん
垢版 |
2024/03/15(金) 06:36:24.00ID:n9fiX3XY
v7.0.0で、WinUICommunity Templatesがようやく使えるしろものになったかな?
フレームコンテンツ作成で
System.Runtime.InteropServices.COMException (0x8000FFFF): 致命的なエラーです。 (HRESULT からの例外:0x8000FFFF (E_UNEXPECTED))
が出るが、とりあえずは動かせるので進歩したようだ。
0407デフォルトの名無しさん
垢版 |
2024/03/15(金) 10:12:34.11ID:r4OsPqSJ
ダイアログのようにVMからVを操作したければサービスを作ってVからVMにインジェクションすれば良い
知らずにイキっている彼が惨めだ
0409デフォルトの名無しさん
垢版 |
2024/03/15(金) 11:17:02.37ID:I1QcrsU/
VMからVを操作したいという設計がアウトだろw
0412デフォルトの名無しさん
垢版 |
2024/03/15(金) 12:59:48.28ID:McMWG0Vb
自動テストやってるプロジェクト見た事ないな。
SIerはどこもExcelでケース書いて手動でテストしてエビデンスでスクショ取ってた。
0415デフォルトの名無しさん
垢版 |
2024/03/15(金) 13:40:36.22ID:eZW8M4iC
>>412
それって修正の度に過去のも含めて毎回やるの?形骸化しない?

テストコードを書くことで DI や MVVM の利点が理解できたし、
テストコードを書くことでミスに気づいたりより良い実装にできたりって経験が何度もあるから、
個人的にはテスト書かないのはあり得ないな。
0416デフォルトの名無しさん
垢版 |
2024/03/15(金) 14:24:47.78ID:McMWG0Vb
>>415
修正に関係した箇所しかテストしないところが殆どだよ。
個人的には自動化したほうがいいと思うけど、
低レベルなエンジニアだとテストコード自体にバグがある事も多いし、SIerのレビュアーはコードが読めない人が多いからスクショを欲しがるんだよ。
0417デフォルトの名無しさん
垢版 |
2024/03/15(金) 15:29:58.80ID:MChK0tzU
SIerのレビュアーは
受け入れテストだろうから
単体テストは受け取らないのでは?
基本UIテストが基本だろ
理屈でねじ伏せて単体テストで押し切れないかぎりは
0418デフォルトの名無しさん
垢版 |
2024/03/15(金) 19:50:46.10ID:eZW8M4iC
UIテストはやるっちゃやるけどわざわざスクショは取ってないな
やりましたよー嘘はついてないんで信じてください、で
0419デフォルトの名無しさん
垢版 |
2024/03/15(金) 21:27:44.49ID:cF/fCSwm
納品の単位がクラスや関数でない限り
テストはUIテストやで
無論納品物はテストデータとUIキャプチャーみたいな
このあたりもReact界隈では自動テストがちらほら見られる
0420デフォルトの名無しさん
垢版 |
2024/03/15(金) 23:32:19.58ID:gbQQtayq
>>408
たしかに Dependency Inversion は一手間かかるがそれを阿呆らしいとしか感じられないのであれば残念
0423デフォルトの名無しさん
垢版 |
2024/03/17(日) 09:42:36.14ID:mB4AOeXd
MVVMで開発
hyperlinkをクリックしたらpopupが表示される
というのはviewだけで完結するから、popupのisopenは hyperlinkのclickイベントをコードビハインドで書くべき?popupの状態を保持してなにかを動かすなどの処理はない
0424デフォルトの名無しさん
垢版 |
2024/03/17(日) 09:45:08.38ID:mB4AOeXd
変な日本語だった

popup.isopenは hyperlinkのclickイベント(コードビハインド)で書くべき?
0426デフォルトの名無しさん
垢版 |
2024/03/18(月) 20:29:45.91ID:GPnxxBJp
そんなんで悩むくらいならmvvmで書けばいいんじゃね
コードビハインドにしたくなったらいつでも変えられるでしょ
0429デフォルトの名無しさん
垢版 |
2024/03/26(火) 17:16:47.74ID:0f2Qo6r6
clickoneceで公開できないあたりがもうゴミだわなぁ
0432デフォルトの名無しさん
垢版 |
2024/03/26(火) 22:20:48.99ID:5DqAkGe7
>>430
>How can it be possible that MS is investing 20 times more effort into MAUI than into WinUI3

20倍!
MAUI始まったーーー!
0434デフォルトの名無しさん
垢版 |
2024/03/26(火) 22:47:00.47ID:1Bd4/Fy+
言語能力が足りないので意味が分からない

MSがMAUIをWinUI3の20倍開発してるなんてありえるんでしょうか?って意味に取れる
WinUI3の開発が停滞してて開発の進まないMAUIにすら負けてるように思えると言うこと?
0435デフォルトの名無しさん
垢版 |
2024/03/26(火) 23:43:00.65ID:h5VbGVBf
>>434
それであってるよ
WinUI3からは開発メンバー引き上げて撤退中っぽいという話
あげられてる証拠を見るとほぼ間違いなさそう
0437デフォルトの名無しさん
垢版 |
2024/03/27(水) 00:06:47.14ID:+Rfobi2u
ItemsRepeaterはwinuiの方を参考に実装してんだろ?
upstream(winuiの事?)とavalonia自身の問題で
ItemsRepeaterが手におえないってよ

リンク張りたいけどソースが見つからん
昨日見つけたけど見つからん
0439デフォルトの名無しさん
垢版 |
2024/03/27(水) 16:49:34.14ID:HO+d/NZo
MSの中でもとくに無能がUIフレームワークに関わってるんじゃないかってレベルで
ずーっとgdgdなのはもはやお家芸の域だなw
0441デフォルトの名無しさん
垢版 |
2024/03/27(水) 17:56:14.90ID:2eNmXpSn
VSCodeはElectron、teamsはElectron→Reactじゃなかったっけ?
MS自身が主要アプリに自社フレームワーク使ってない時点でお察し
MAUIも沈みゆく船かもな
0442デフォルトの名無しさん
垢版 |
2024/03/27(水) 18:01:03.88ID:fvftl7ag
Azure(モバイル) - MAUI
Office 365 Admin(モバイル) - MAUI
Windows Terminal(Win) - Windows App SDK
PowerToys(Win) - Windows App SDK
Microsoftストア(Win) - UWP
Visual Studio - WPF + ネイティブ?(2010年頃。最近のバージョンは不明)
VSCode - Electron
Office(Web) - React
Office(PC・モバイル) - ReactNative
Outlook(Web) - React
Outlook(PC・モバイル) - ReactNative
Teams(PC) - ReactNative (旧バージョンはElectron)
Teams(モバイル) - ReactNative
Skype(モバイル) - ReactNative
Xboxアプリ(PC/Xbox) - ReactNative
OneDrive(PC/Mac) - Qt ※2022年サービス終了

適当に検索して出てきたのまとめるとこんな感じ
React系のガワは全部FluentUIっぽい
0444デフォルトの名無しさん
垢版 |
2024/03/27(水) 19:19:45.13ID:fvftl7ag
Teams(PC版)はReactだったねごめん

他はここがソースだけどよく見たらアプリ全体の構築としてReactNative使ってるのはXbox系のアプリだけかな?
https://microsoft.github.io/react-native-windows/resources-showcase
OutlookはここだけどこれもReactNativeとは明記されてなかったね…
https://www.reddit.com/r/reactnative/comments/j7jp1n/microsoft_outlook_is_moving_to_react_native/

んじゃPC版は全体的に「React(ReactNativeかも)」に訂正で
0449デフォルトの名無しさん
垢版 |
2024/03/27(水) 22:26:42.38ID:FuRTR6go
ちょっとずれた質問だけどFlutterよりReactNativeのほうが生き残ってるってこと?
そっち方面全然知らなくて
0451デフォルトの名無しさん
垢版 |
2024/03/27(水) 22:49:23.89ID:OUGKNXTu
瞬間風速でなくてGoogleにとってflutterの戦略的メリットが無いと言う基本構造が続く限りは
コスト削減の煽りでEOLのリスクがあるのです
0452デフォルトの名無しさん
垢版 |
2024/03/27(水) 22:55:17.38ID:o6ku426i
簡単に簡素なアプリを作りたいのならばflutterみたいのは向いてないと思う
視覚的に開発中に階層が深くなる系は厳しい
0453デフォルトの名無しさん
垢版 |
2024/03/28(木) 11:14:39.51ID:/B5kuUN1
階層深くなるのはプログラマの責任
ReactでもFlutterでもXAMLでも変わらん
分割考えず1ファイルに詰め込むアホの所業
レスを投稿する


ニューススポーツなんでも実況