WPF(.NET, WinUI) GUIプログラミング Part32

■ このスレッドは過去ログ倉庫に格納されています
2023/09/09(土) 07:02:56.33ID:xfSBfAyx
WPF(Windows Presentation Foundation)について語るスレ。

前スレ
WPF(.NET, WinUI) GUIプログラミング Part31
https://mevius.5ch.net/test/read.cgi/tech/1674334396/

関連スレ
Windows 10 UWPアプリ開発Part 3
https://mevius.5ch.net/test/read.cgi/tech/1627556967/

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
305デフォルトの名無しさん
垢版 |
2023/12/25(月) 15:24:51.68ID:WPFHf4JU
>>304
mousedownイベントからセルの行と列を見つける記事を見つけて目的達成しました。
2024/01/21(日) 22:52:00.24ID:MH9POLNi
https://github.com/npolyak/NP.Ava.UniDock
UniDockの方もavalonia 11に対応したのか
https://www.codeproject.com/Articles/5316702/UniDock-A-New-Multiplatform-UI-Docking-Framework-U


もう一個のやつ
https://github.com/wieslawsoltes/Dock
2024/01/21(日) 22:56:58.33ID:MH9POLNi
https://github.com/flutter/flutter/releases/tag/3.19.0-0.1.pre
この量
がんばりやさん
308デフォルトの名無しさん
垢版 |
2024/01/22(月) 16:08:46.89ID:Xo5l1JGj
教えてちょうだい。
<DataGrid FontSize=”24”>で定義している表ですが、DataGridTextColumnの列は24サイズで表示されますが、DataGridComboBoxColumnの列は反映す、デフォルト(12)のままです。
ぐぐっても見つからないのでお願いします。
309デフォルトの名無しさん
垢版 |
2024/01/22(月) 16:21:08.89ID:Xo5l1JGj
>>308
すみません。解決しました。
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="TextElement.FontSize" Value="24"/>
</Style>
</DataGridComboBoxColumn.ElementStyle>
310デフォルトの名無しさん
垢版 |
2024/01/25(木) 11:11:30.15ID:lR1UwrQ7
あれ? Windows11では、WPFでUwpDesktopのContract取れなくなった?
Windows10から11にグレードアップすれば大丈夫のようだが、Windows11直接インストールはペケだね。
これは、周辺デバイス使うのに、いよいよWinUI3に移行しかないかもしれんね。
2024/01/26(金) 10:57:55.29ID:ZNHEQQkl
まあ普通に「何言ってんだこいつ?」と書くと検索して何かを発見するのだろうか?
2024/01/26(金) 13:34:50.44ID:T/VX3odp
質問文を書いている内に思考が整理されて、そのまま自己解決したり検索キーワード思いついたりすることあるよね
2024/01/26(金) 21:39:41.26ID:7E0uWKmf
もしかしてUwpDesktopをMicrosoft.Windows.SDK.Contractsに置き換えれば済んじゃう話かな
2024/01/26(金) 22:01:55.40ID:fmaEcqlH
reunionとか結局迷惑なだけだったな
c++開発者救おうとして.netユーザーも死亡とか笑えない
最初からWPFのwin11theme対応や素直にUWPアップグレードしときゃよかったのに
2024/01/27(土) 10:43:37.50ID:OUpx/8Wk
reunionは名前を変えただけで今もメインストリーム(笑)
2024/01/27(土) 11:14:04.73ID:FVNmXnrw
C++/CLI延命してWPF対応もしてたら素直に移行してくれてたんじゃないかなあ
317デフォルトの名無しさん
垢版 |
2024/01/29(月) 11:41:56.56ID:uz1rJL/E
>>316
C++使いってクライアントアプリのGUIについてはかなり保守的な傾向があるし、パッケージ開発が中心のため開発の人月市場が小さい
大した金にならないのに延々サポートし続けなきゃいけない面倒な客が増えるだけだよ
318デフォルトの名無しさん
垢版 |
2024/01/29(月) 11:42:52.35ID:uz1rJL/E
>>316
C++使いってクライアントアプリのGUIについてはかなり保守的な傾向があるし、パッケージ開発が中心のため開発の人月市場が小さい
スキルはあるから適切に誘導すれば比較的容易に移行してもらえるだろうけど、
大した金にならないのに延々サポートし続けなきゃいけない面倒な客が増えるだけだよ
2024/01/29(月) 11:52:23.33ID:044/aFLW
>>316
C++使いってクライアントアプリのGUIについてはかなり保守的な傾向があるし、パッケージ開発が中心のため開発の人月市場が小さい
大した金にならないのに延々サポートし続けなきゃいけない面倒な客が増えるだけだよ
2024/01/29(月) 11:52:44.34ID:044/aFLW
>>316
C++使いってクライアントアプリのGUIについてはかなり保守的な傾向があるし、パッケージ開発が中心のため開発の人月市場が小さい
大した金にならないのに延々サポートし続けなきゃいけない面倒な客が増えるだけだよ
2024/01/29(月) 11:58:12.71ID:rGeS0v91
大事なことなので
2024/01/29(月) 12:11:06.08ID:i/JGqanG
MFCってまだ現役なのかな?
323デフォルトの名無しさん
垢版 |
2024/01/29(月) 12:41:32.85ID:cb2ag/yV
未だにMFC使うのはwinformのc#を知らないMFCおじさんなんだろう。
と自分のことを棚上げする奴
2024/01/29(月) 18:12:14.76ID:19IqUjZK
あの大量の引数だらけのAPIで開発できるのすごいわ
2024/01/29(月) 19:52:03.86ID:xrOua99E
C++/CLIの梯子外されたから仕方なくC++使いはMFC使い続ける
2024/01/30(火) 08:19:48.67ID:+OK5g5UF
>>323
逆にWinformsで開発してるとMFCが分からないだろ?
327デフォルトの名無しさん
垢版 |
2024/01/30(火) 11:02:24.25ID:8UtUOKmo
>>326
MFCは3年前に足洗ったからもう見たくもないわ。
2024/01/30(火) 12:07:48.08ID:Fbbd2u9y
>>327
分かる
2024/01/30(火) 14:33:36.39ID:7mkLfX8M
WPFもかな
2024/02/07(水) 14:36:27.08ID:lKIFkgjA
XAMLのステップ数を数えてくれるフリーソフトってありますか?
2024/02/07(水) 15:47:24.81ID:MpBpkjzj
>>330
その仕事かプロジェクトは辞めたほうがいいと思う
2024/02/07(水) 18:37:16.78ID:113QUuio
unix/linuxのwcコマンド
2024/02/08(木) 11:49:37.00ID:6cPWkhNr
>>331
XAMLはステップ対象にならないって事?
2024/02/08(木) 13:51:47.02ID:m2dEY1pn
ステップって汎用機かよ!
2024/02/08(木) 13:58:04.22ID:Pm26MmfD
スパゲッティー錬金システムか
2024/02/08(木) 15:24:59.68ID:yILQX4Ph
ステップ…
無駄なstackpanelの入れ子を1000個ぐらい入れたらどうなるの?
2024/02/08(木) 16:32:24.17ID:y8Tm2IvK
実装の早い奴と評価され仕事が増やされる
その後無駄実装がバレて減給
仕事は増えたまま
2024/02/08(木) 16:45:26.62ID:m2dEY1pn
日立とかの大規模プロジェクトじゃまだステップ数で管理してんのか?笑
339デフォルトの名無しさん
垢版 |
2024/02/08(木) 18:04:10.45ID:ShTXBa9s
拝承はステップ数報告しないと品証部が承認しないとか言ってたな
2024/02/08(木) 18:10:59.66ID:Eyr6tv6G
今もステップ数やっるところあるのか
2024/02/08(木) 18:29:50.82ID:wtMNZ0uh
10年ぐらいWindowsの世界から離れてるんだけど、
10年前はFormもWPFもメンテナンスモード状態で
ストアアプリは低機能過ぎて論外、ということで
UIに決定的な選択肢が存在しない状態だったと思うけど、
ひょっとして今もまだそのグダグダ状態が継続してるの?

あいかわらずMSはUIに関して何のロードマップも示しておらず、
WPFが消極的に第一選択って状態?
2024/02/08(木) 18:33:12.53ID:wtMNZ0uh
追加質問
今確認したらMVVMのスレがなくなってるみたいだけど、
今もMVVMは推奨されてるの?あるいはオワコン化?

個人的にはMVVMには疑問しか感じなかったのでオワコン化してくれてると嬉しい
2024/02/08(木) 18:34:59.11ID:bFznU8/N
>>333
それはよくわからない。。
同じマークアップ言語でいうと html とか css とかはどうしてるの?

俺が言ってるのは今どきステップ数を指標に用いるような体制だと、
そのこと以外でも今後色々と時代遅れなことをやらされるんじゃないかなという老婆心。
DRYを無視したコピペプログラマの方が、
最小限のコードでメンテしやすいコードを書いた人より生産性が高いと評価される、
みたいなことが起こり得る。
実体験。
2024/02/08(木) 18:44:08.91ID:axNEUfnG
>>341
各自、好きなもので勝手にやってくれという感じ。
全く力を入れてない。
2024/02/08(木) 21:39:05.80ID:kAHUeLc0
>>341
MSとしては今は一応WinUI3推しなのかな
後にはMAUIも控えてる
が、完成度がお察しなの相変わらずで状況は変わってない

>>342
そういえばMVVMの次はMVUだなんて言ってたけど最近あまり聞かないな
MVVMは割と出来の良いToolkitがやっと出てきて若干作りやすくなった
2024/02/08(木) 22:56:08.56ID:yILQX4Ph
>>341
ストアアプリの後継のUWPが開発者に不評でwindowsの先進機能を利用できる唯一のwinRT APIが宙に浮いてた
Win32やWPFやWinFormsからストレートに利用できない

んで別れてしまった物をつなごうとリユニオンと言うプロジェクトが始まって相互利用しやすい状況を作りましょうということに
今はそれが名前を変えてWindows App SDKと言う巨大なSDKの枠組みになった
でも皆が思ったものとはかなり違うものなんじゃないかと

その一方でネイティブからもいろいろ先進GUIを利用しやすいようにとWinUI3と言う新フレームワークも作られた
これが非常に出来が悪いので積極的に利用しづらい状態

生殺し

MVVMは原理主義者が減ったように見える
UWPの時点でMSのサンプルやスケルトンもMVVMは意識されてないものが多かったし
MVVMのフレームワークもMS外に出された
2024/02/08(木) 23:24:09.69ID:m2dEY1pn
>>343
一週掛けて遂にバラメーターで変更だけで済む方法を発見しました!より
汚いコードを大量生産する方が評価されるようなプロジェクトは辛いよ
2024/02/08(木) 23:26:32.13ID:m2dEY1pn
>>346
MVVMは何度も言っているように
最初からblandの為のフレームワークですから
2024/02/09(金) 00:02:47.09ID:8dGfxt4Y
何度も言うならスペルは確認しような
2024/02/09(金) 00:21:37.56ID:VlbqHkkF
winformsでいいじゃん派だったけどwinforms製のService Bus Explorerってツール使ってみて、これはダセぇと思った
やっぱwinformsあかんわ
electron製のStorage Explorerと比較してデザイン雲泥の差
2024/02/09(金) 00:26:25.62ID:pMWpEfHO
いつまでたってもMVVMが流行らないのはそれ自体というよりXAMLの難解さが原因だと思う
あとはReactivePropertyとかPrismあたり使いだすと更に必要な知識が増えるし
まともにMVVM出来るようになるまでの敷居が高杉
352341
垢版 |
2024/02/09(金) 01:29:38.70ID:A61gB+sy
みなさんリプ感謝
どうも相変わらず決定打の選択肢が存在しない状況みたいですね。

先日経済ニュースでMSの一番の稼ぎ頭はAzure関連になってるって聞いたから、
もうデスクトップにはあまり投資する気がないのかもしれないですね
2024/02/09(金) 05:16:51.60ID:p3MmIjTm
>>349
苦手なんだわ英語
2024/02/09(金) 05:19:46.05ID:p3MmIjTm
>>352
react native for windows
https://github.com/microsoft/react-native-windows
2024/02/09(金) 16:16:42.24ID:GaqK7h15
>>343
もちろんステップ数が多ければいいって訳じゃないけども、
変化があったら何か理由があって修正したはずってのを管理したいだけなのです
2024/02/09(金) 16:31:44.79ID:Ug+IZ9PT
>>355
今どきはそういうのはgitとかでやるもんじゃないの?
2024/02/09(金) 17:21:10.88ID:yBOwgCMz
>>355
目的と手段の関連性がよくわからんな
2024/02/10(土) 01:51:05.15ID:ghsIMPAY
>>351
CommunityToolkit.Mvvm(旧Microsoft.Toolkit.Mvvm)がもっと早く出ていればな
Prismは必要以上に肥大化して複雑になり過ぎた
2024/02/10(土) 12:18:18.76ID:siL8f8mn
何がしたいのかいまいちわからないけどワークスペースのライン数数えたいなら今はcloc一択じゃないかな
2024/02/15(木) 23:48:07.50ID:sIh+C39m
1.5は大型アップデートのようだな
開発体制変更でだいぶ変わったんだろうか
2024/02/16(金) 15:28:06.91ID:25EHl0Ar
>>360
WindowsAppRuntimeのインストール権限の仕組みが良く分からん
管理者権限は要らない、が正解で良いんだよね?
2024/02/21(水) 12:32:37.21ID:PFGf4NHy
.net frameworkと.net
なんでこんな紛らわしい名前つけるのか
.net coreでよかったじゃん
2024/02/21(水) 13:56:17.87ID:lp6zNfu6
数字が大きい方が新しいよ!
364デフォルトの名無しさん
垢版 |
2024/02/23(金) 04:15:46.12ID:U6VjGFFM
実際5.0になり、4.8を数字的に越えたからCoreと付けるのやめたんやしなぁ。
2024/02/23(金) 04:47:46.51ID:wRMoGqp+
.NET Core 3.1の次だから本来4.0になるところを紛らわしいからスキップして5にしただけで
当初は超えてなかった
366デフォルトの名無しさん
垢版 |
2024/02/23(金) 17:01:41.10ID:mMXFzxMZ
1.4のランタイムがMSStoreの更新してくれるアプリの扱いになってるから管理者権限なんていらないんじゃないの
2024/02/23(金) 18:16:09.20ID:Jh7ZBph7
WPFの11テーマの対応って簡単に試せないのか?
.net 9まで待てと?
2024/02/25(日) 21:22:50.51ID:gLzXLzAw
儲かるのが、VB6の改造仕事しかない。
たまに、WPF仕事もやりたい。
2024/02/26(月) 00:47:29.41ID:wRPcw5gK
未だにVB6のメンテってあるよな
濫造されたからね
370デフォルトの名無しさん
垢版 |
2024/02/26(月) 05:52:13.71ID:ty4kadJF
俺もVB6のシリアル通信コントロール使ったアプリをWpfのC#でリメイクしたよ。
371デフォルトの名無しさん
垢版 |
2024/02/26(月) 08:21:39.66ID:XWJtja4N
企業の設備がWndowsXPでVB6というのが膨大にある。
さすがにN88BASICは少なくなったが、その手の案件は、中抜き業者が手を出さない。
となると企業とダイレクト契約になり、利益率が高い。
契約してしまえば、WPFでもWINUI3案件でも、小規模は見積り有利な方に注文が来る。
ただ、VB6に比較して利益率低いので、普通はVB6案件しかとらない。
372デフォルトの名無しさん
垢版 |
2024/02/26(月) 11:26:24.39ID:pWCmHinc
ダー
2024/02/26(月) 13:36:32.07ID:EabBEBrg
.NET Frameworkも4.8で終わらずに4.8.1とか出てるからな
374デフォルトの名無しさん
垢版 |
2024/02/26(月) 14:03:44.02ID:Y4jRoRGa
そのうちジワリと4.8.2とかなりそうよな。
4.9までいくとはおもわんが、4.8.4くらいまではいくと思う
2024/02/27(火) 14:02:05.28ID:991PBCrk
.NET 8 は何故コケたの? [422186189]
https://hayabusa9.5ch.net/test/read.cgi/news/1709009317/
2024/02/27(火) 23:42:36.14ID:e1bc8gxM
フレームワークのバージョンにコケるもクソもないと思うけど
377デフォルトの名無しさん
垢版 |
2024/03/11(月) 00:55:23.89ID:HkYrCely
親Windowから子Windowを開くのってMVVM的にはどう書くのが標準的なの?
普通にViewのイベント拾ってコードビハインドで子Window開いてやればええの?
2024/03/11(月) 07:48:27.75ID:pZ1yIH4h
VMのデリゲートをVがサブスクライブする
2024/03/11(月) 09:57:46.60ID:IOphoT8k
ウィンドウ開くとか検索したらすぐでてこないか
380デフォルトの名無しさん
垢版 |
2024/03/11(月) 12:51:12.10ID:wdmrI2rW
多用しないならそれで十分感はある
2024/03/11(月) 12:54:07.48ID:H3ynRxY9
>>377
でた!mvvmの糞さがわかる問題
2024/03/11(月) 13:00:05.68ID:Nab3g2JD
子Windowを開くというUI自体がWPF的でないという印象がある
どちらかというと、スマホUIのような画面遷移でどうにかするUIな印象
デスクトップアプリなんだから子Window開きたいというのも分かるけど
2024/03/11(月) 13:56:19.62ID:H3ynRxY9
WPFにサブウインドー開けないなんて制限ねーーわ
2024/03/11(月) 17:34:40.85ID:0kIYwJYj
リストビューのアイテムに隙間空いてんのかよ
クリックしても反応しねー時あるからおかしーとおもったわ
責任者出てこい
385デフォルトの名無しさん
垢版 |
2024/03/12(火) 09:25:50.34ID:oMOjwN9V
Apple musicアプリ快適すぎワロタ
WinUI3だぜ?なんでAppleの方が作り方うまいんだよw
2024/03/12(火) 09:45:29.07ID:Wt4b/TQL
MDIが作れないって意味なんだろうか?
SDIで十分だけども
2024/03/12(火) 15:03:53.98ID:vyCpIdp2
MVVMの宗教上の問題だよ
親Windowのハンドルが必要だからVMでは開けない
コードビハインドは使用禁止なのでViewでも作れない
2024/03/12(火) 20:46:22.46ID:m8EOe0Bf
じゃゴミプロダクトじゃん
2024/03/12(火) 21:24:31.00ID:+BbYrvFB
mvvmがゴミ思想で
WPF本体は良く出来てる
2024/03/12(火) 22:02:39.08ID:oG8PduKS
>コードビハインドは使用禁止なのでViewでも作れない

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

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

とりあえず必要なコントロールをcollapsedで非表示にして
BoolToVisibilityConverterで1つ制御?
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)
{
}
}
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}}" />
2024/03/14(木) 00:59:55.46ID:HT+2FBc/
WinUIはコンバーターも使えるけど、スタティックなメソッド作って値のコンバートする方が良いよ
コンバーターと違って型チェックもやってくれる

https://learn.microsoft.com/ja-jp/windows/uwp/data-binding/function-bindings
2024/03/14(木) 18:54:54.11ID:awMyQery
>>399
ありがとございます
ただ、単純なコントロールならいいんですが切り替えたいのが複雑なコントロールツリーなんです
要するに画面レイアウトごと切り替えるイメージです
その場合はCollapsedで見えないけどメモリ上にはある?のでよくない?
2024/03/14(木) 18:57:46.12ID:awMyQery
>>400
x:Bindだとコンバーターわざわざ作らなくていいんですね
ただ、onewayとかにするとめんどくさいんですかね

後x:Bindは検証してませんがメモリリークどうこうとかあってうーん
https://github.com/microsoft/microsoft-ui-xaml/issues/7282
2024/03/14(木) 22:00:35.91ID:YGbJEKVm
TabView 使えばいいんじゃないかな
404デフォルトの名無しさん
垢版 |
2024/03/14(木) 22:54:09.64ID:kLN7FaI/
根本的な設計が間違ってるに一票
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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