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

■ このスレッドは過去ログ倉庫に格納されています
2022/01/20(木) 05:40:40.10ID:+TySdXxT
WPF(Windows Presentation Framework)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2022/01/30(日) 09:47:18.83ID:fQLZlazV
イベントアグリゲーターはVM同士でやり取りする時使うよ
匿名のボトルメールみたいな感覚だね、便利なんで使い方を覚えるといい
2022/01/30(日) 09:51:03.86ID:9+q+6HPs
>>180
REST使うSPAと変わらんやん
2022/01/30(日) 10:14:04.18ID:DDlIcWyK
M同士のやり取り?
そんなのはMの状態変化の結果として変更通知として各VMに降ってくるようにするのが筋でしょ
184183
垢版 |
2022/01/30(日) 10:14:42.92ID:DDlIcWyK
VM同士のやり取り?
の間違い
185デフォルトの名無しさん
垢版 |
2022/01/30(日) 10:19:30.61ID:xTnuhpAm
まぁメリットが感じられないフレームワークも多いよね
MVVMフレームワーク、WCF、EF、ASP.NET MVC、各層に色々フレームワークはあるけどASP.NET以外は微妙
要求が高度なアプリほど
フレームワークの使用によって得る生産性<フレームワークの束縛によって失う自由度
になってくる
2022/01/30(日) 12:31:27.69ID:KApH5n5G
マイクロソフトのフレームワークが良くないのが多すぎた
MSなら安心という顧客や上司のために仕事でしょうがなく使うってシチュエーションしかない
結局不自由だからあれこれ回避するためにキメラのような実装になってフレームワークなんて使わないほうが良かったとなる
2022/01/30(日) 12:56:42.21ID:LWsZFFBD
ASP.NET APIぐらいかな?使えるのは
ここにEF入ってくると糞になるけど...
2022/01/30(日) 13:13:47.93ID:+wZdari7
EFはEF Coreや.NET 6で多少速度マシになってたりしないの??
まぁ、元々変更追跡する仕組みだから、速度面では不利だが
2022/01/30(日) 16:07:33.81ID:ocXxzRZn
普通のアプリを作る場合には、Document・Viewアーキテクチャも、
MVCもMVVMも面倒なだけな気がする。
Win32のGDIも面倒。
OpenGLも、1.0は美しかったが1.2以後や、OpenGL ESやWebGLは汚く面倒に
なった。Direct3Dの駄目なところを取り入れてしまったような感じ。
190デフォルトの名無しさん
垢版 |
2022/01/30(日) 17:42:13.84ID:1lRRY4pr
普通のアプリって何
2022/01/30(日) 21:21:33.53ID:Zz8RS9Wg
JHTMLアプリじゃね?
2022/01/30(日) 23:00:42.20ID:fI0x5/zS
この文脈ならkick-ass appsだろ
言わせんな恥ずかしい
2022/01/31(月) 07:29:13.82ID:ekWinSEL
>>190
>>95
2022/02/02(水) 10:37:04.10ID:5deqnR/S
>未解決の問題が非常に多いため、何に取り組んでいるのか、どこで進歩しているのか

WinUI3、問題山積みって感じだな。
開発メンバーも離脱してごくわずかで細々作ってる感じだし。
MSも高確率で沈みそうな泥船に投資したくないんだろうなぁ。
Phoneが沈んだ時点でさっさとUWPを捨ててこっちに注力してればもっとましな結果になっただろうに。
2022/02/02(水) 13:34:55.83ID:qr0OhjFL
ユニバーサル・ウインドウズ・プラットフォーム(Windows10専用)だからな
それよりWinFormsとWPFの2本立ての方が成功してたと思う
高DPIに対応したWinForms2.0とかUnityでも動作するMonoFormsとか
スゲー安っぽいけどWinUIなんかより数倍マシ
2022/02/02(水) 14:17:31.87ID:/6h+iODO
さすがにWinFormsは要らない。
WinFormsでやってたことはWPFがあれば事足りる。
197デフォルトの名無しさん
垢版 |
2022/02/02(水) 14:55:30.01ID:MolDdSgs
WPFは勝手にマルチスレッドにしやがる
2022/02/02(水) 21:21:23.96ID:HZtz5wep
WPFが最初からネイティブC++で実装されてたらUWPやWinUIは生まれずWPFは統一プラットフォームとして継続的に進化して成功していただろうな
MSはなんだかんだC++大好きで、全部マネージドでいいじゃんってのは社内的に許されないんだよ
199デフォルトの名無しさん
垢版 |
2022/02/02(水) 23:39:19.90ID:uQJKdAPH
好き嫌いの問題じゃないだろ
低レイヤーの実装はC++じゃなきゃ出来ない
2022/02/02(水) 23:44:15.40ID:Tho+pX9F
リーク地獄は嫌じゃ
2022/02/03(木) 00:13:00.65ID:IbTz5ZAk
そもそも.NETがWindowsチームから嫌われてたっていうからな
2022/02/03(木) 00:44:04.17ID:hnE9Kba7
>>198
MSが好きなのはC++98(03)までだろうな。
C++11はアホが好みそうな仕様になったから。
2022/02/03(木) 07:52:29.24ID:rTgJdd8/
C++98はある種の透徹した美しさがあったな
11以降のも無駄に複雑だった部分がどんどんシンタックスシュガーで簡潔になってきて嫌いじゃない
2022/02/03(木) 08:31:47.19ID:j4oj3G8A
>>202
C++11を理解できないから嫌いなんでしょ
2022/02/03(木) 08:50:59.00ID:nrvs3IXt
>>204
横からレスごめん
C++11は使おうと思えば使えるけど、スマートポインタとかが美しくないかなと思う
メモリをどうこうしたいのならC#とかみたいにGCを実装して欲しかった…
ただ、randomやthreadが追加されたのはかなり嬉しい
2022/02/03(木) 08:58:55.45ID:n97Y9UcY
んで、ここ何のスレ?
2022/02/03(木) 09:29:22.68ID:0+ku9eIp
C++なんてバグ量産言語まだ使ってるのかよw
Rust使えよ低脳
2022/02/03(木) 09:54:13.82ID:8ADJI/49
>>199
低レイヤは当たり前だけど、MSの場合は高レイヤも全て快適にC++で記述できなければならない
それがWindowsの標準UIプラットフォームに求められる最低水準なんだよ
C++/WinRT知ってるか?奴等のC++に対する愛と執念は異常
2022/02/03(木) 10:23:17.82ID:0+ku9eIp
ゴミで有名だよねC++/WinRT
2022/02/03(木) 14:43:56.38ID:u1rmEl96
C++11以後は、最低でもStroustrupの9,800円くらいの本は読まないと
話にならないから、お金が掛かる。
2022/02/03(木) 15:04:58.00ID:rTgJdd8/
>>210
そんなことないぞ
言語仕様が整理されたからむしろStroustrupより薄い本でマスターできるようになってる
2022/02/03(木) 15:05:48.63ID:VSVU8kYC
C++相談室
https://itest.5ch.net/mevius/test/read.cgi/tech/1636969758
2022/02/03(木) 16:15:08.97ID:VWdjVpzZ
現在のマイクロソフトは昔に比べてC++の最新規格追随は熱心だと思うね
昔はC++愛が強かったってことはないんじゃないか
2022/02/03(木) 16:39:59.45ID:4SJL6nSC
C++相談室
https://itest.5ch.net/mevius/test/read.cgi/tech/1636969758
2022/02/03(木) 16:51:25.83ID:rTgJdd8/
>>208
C++/CLIという存在意義不明の言語もあってだな…
2022/02/03(木) 17:14:59.74ID:4SJL6nSC
>>215

C++相談室
https://itest.5ch.net/mevius/test/read.cgi/tech/1636969758
2022/02/03(木) 18:39:21.61ID:22BdHKRp
.NET6への移行は大変そうだな
2022/02/03(木) 18:50:36.00ID:rTgJdd8/
>>216
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
2022/02/03(木) 23:24:21.93ID:oMlWvAvC
>>215
C++とC#への橋渡し?みたいな
2022/02/03(木) 23:31:13.46ID:rTgJdd8/
>>219
C++/CLIはキミの手に負えるような代物じゃない
せいぜいC#とP/Invokeで遊んでなさい
2022/02/03(木) 23:39:42.92ID:u02l46ie
で、wpfは?
2022/02/03(木) 23:47:41.12ID:oMlWvAvC
>>220
MFCで作られたオブジェクトをC#で使う必要があったのよ
2022/02/04(金) 02:11:28.44ID:tMDf8XuC
>>211
具体的にどの本の事だよ。
絶対無理だと思うぞ。
2022/02/04(金) 05:25:10.97ID:2M0/77yk
>>223

C++相談室
https://itest.5ch.net/mevius/test/read.cgi/tech/1636969758
2022/02/04(金) 08:40:15.66ID:+WNV9NYh
>>224
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
2022/02/04(金) 08:52:24.88ID:KAsheVEx
そういやC++/CLIでWPF作れるんだったね
以前やってみてすごく面倒だった
2022/02/04(金) 16:23:43.63ID:x89zi/1x
WinUI3
>バグ、機能不足、パフォーマンスの遅さが問題です。
>現在、Microsoftはこれを趣味のプロジェクトとして扱っており、開発者が投資すべき重要なSDKではありません。
2022/02/04(金) 16:48:16.68ID:Smp2NQSE
じゃあマイクロソフトさんはどのフレームワークに力入れていてどれで作れって言ってるの?
2022/02/04(金) 17:03:05.70ID:/zOk2rsO
タイムリーな質問じゃん
これでしょ
https://medium.com/flutter/whats-new-in-flutter-2-10-5aafb0314b12
2022/02/04(金) 17:10:01.29ID:Smp2NQSE
もうVSも.Netもいらないってことか
2022/02/04(金) 17:40:19.22ID:Q8cReFta
これかーー
もうMSはオープンソースに手厚いかんな
https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed
2022/02/04(金) 18:55:12.20ID:Smp2NQSE
flutterのほうが楽しそう
もう何十年もなあなあの.Netはいらんな
2022/02/04(金) 19:05:31.82ID:fMjkdVAl
xamlも時代遅れだよなぁ。
CSSもflexやgridをサポートして自由自在に画面設計できるようになったんだから、Webブラウザーと同じく使えるデスクトップブラウザーを開発すべき。
HTML5+CSS3をxamlで再カキコしなければならないMVVMアプリ開発側としてはしんどい事限りなし。
blazorがそうなるかと思いきや、そうはならなかったな。
2022/02/04(金) 19:08:30.28ID:JrlSex4G
hta2でいいよ
activxの代わりにJScript.NET(死語)でさ
2022/02/04(金) 20:15:48.12ID:x89zi/1x
>>228
MS的にはMAUI(Xamarin)を推したいんだろうが、こんなものに手を出すのは時間の無駄。

未だにスマホアプリに毛の生えたようなのしか作れないWinUIより
Flutterの方がずっとデスクトップアプリに求められるものは何なのか良くわかってる。

>デスクトップアプリケーションは、単に大きなスクリーンで動くモバイルアプリケーションではありません。
>キーボードやマウスなど、さまざまな入力デバイス用に設計されています。サイズ変更可能なウィンドウがあり、
>ワイドスクリーンモニタで動作することもよくあります。アクセシビリティ、入力メソッドエディター、ビジュアルスタイリングなど、
>重要な事柄についても、さまざまな慣例が存在します。デスクトップ アプリは、ファイル システム ピッカーからデバイス ハードウェア、
>Windows レジストリのようなデータ ストアまで、あらゆるものをサポートします。

・UWP→完全終了。開発側がもう使うな、はよWinUI3に移行しろと言っている。

・WinUI3→1〜2年後には業務で使えるレベルに品質・機能が上がっているかも?(しかしその頃には他のものが普及している可能性大)

・MAUI→使う価値なし(他がもっといいの出してるよね)

・WPF + .NET6→目新しさはないが安定していて間違いがない

・Flutter for Windows→注目株、Fluent Designにもしっかり対応。安定性・メモリ消費・ファイルサイズ等に問題がなければこれ一択か?


以前Dartでhello worldするコンソールアプリ試しに作ったときにやたらファイルサイズでかかったのが気がかり。
2022/02/04(金) 20:57:32.87ID:i7hWOGQn
Flutter for Desktop、ちょっと触ってみたけど想像以上に良い。
ただ、まだあんまりよくわからんコンパイルエラーが起こる事があるな。
既存の自分のAndroidアプリはそう簡単には動かなさそう。
2022/02/04(金) 21:48:15.23ID:xlLtcbiK
あーまあ分かったからflutterスレでやってね
2022/02/04(金) 22:07:14.76ID:rPvrWkyY
ウェブのhtml, css, jsの組み合わせをデスクトップアプリに持ってきた方が自然に思える
てかWindowsのみで動くアプリなんてシステムアプリくらいしか需要ないじゃん
そんなのCUIでも全く問題ないんだから
2022/02/04(金) 22:11:22.70ID:+WNV9NYh
それWebView2な
必然の流れだよ
2022/02/04(金) 22:11:24.10ID:lgLSShEn
古田はググールだから大変だな
流行らなければ斬るから信者がんばえー
2022/02/05(土) 01:21:30.57ID:WZoZVFeP
「StackOverflow」で2021年に実施された調査
https://asset.watch.impress.co.jp/img/wf/docs/1385/929/image2.jpg
2022/02/05(土) 01:58:42.02ID:vyyfl1Q+
>>241
ほとんどWeb系だろうし、単に新しいもの使える職場は環境がいいというだけの話だ
2022/02/05(土) 09:10:40.08ID:m5qwQDYD
WPF(MVVMを含む)を新しいものと見なしてるか古いものと見なしてるかで年の差感じるよな
学習コストとか今さらのように言われてもオマエ今まで何してたんだよ
10年以上前からあってとっくに枯れてるぞ
2022/02/05(土) 09:18:35.66ID:50cE9z6L
WPFをいままでやってこなかったならいまさらやる必要がないってことでしょ
アプリケーションもウェブベースで作れるものならASP.NETのWebFormsやMVCに移行してただろうし
2022/02/05(土) 10:35:28.52ID:JJnev5jz
>>238
jsはどんな領域でも使っちゃ駄目な欠陥言語。tsもわずかにマシって程度。
元々オモチャみたいな言語だからレガシーなクソ仕様をばっさり切り捨てないと手の施しようがない。

>Windowsのみで動くアプリ
昔と違ってWindows 1つあれば事足りるようになったからWindows 専用もそれほどデメリットにならない。
246デフォルトの名無しさん
垢版 |
2022/02/05(土) 10:40:43.82ID:Rg3a6Lod
普及しないまま枯れていったMVVM葬儀会場はここでつか?
2022/02/05(土) 10:42:30.90ID:8UxqBbtD
使いこなせない悲しみ
2022/02/05(土) 11:59:44.91ID:XET6D0Ck
WPFが落ち目に見えるからFlutterとかWebとかこんなにキャッチセールスがやってくるのかな
2022/02/05(土) 12:07:21.14ID:Czrdanv8
intellisenseがWPFに冷淡だったのが痛い
2022/02/05(土) 12:10:49.48ID:8UxqBbtD
WinUI待機組をFlutterが掻っ拐う構図
2022/02/05(土) 15:15:00.66ID:JJnev5jz
>>248
落ち目なのはWinUI。まだ浮かんですらいないけど。
今の時点でデスクトップアプリ開発環境としてWinUIよりFlutterの方が完成度が上で、今後それが逆転する可能性も絶望的。

これからはWPFとFlutterを状況に応じて使い分ければいい。
WinUIがポンコツすぎて迷う必要なくなったから、かえって良かったかも。
252デフォルトの名無しさん
垢版 |
2022/02/05(土) 15:29:51.09ID:Mq0LTi1i
早めにxaml捨ててMAUI&Cometで一本化する判断しとけばここまで開発リソース分散しなかっただろうに
2022/02/05(土) 17:43:31.99ID:CJOs3GSx
>>252
MAUIは、XAMLによるMVVM、と書いてあるが。
254デフォルトの名無しさん
垢版 |
2022/02/05(土) 17:45:20.87ID:CJOs3GSx
宣言的
2022/02/05(土) 17:47:03.84ID:CJOs3GSx
MAUIには、宣言的UIを使ったMVUなるものがあって、それがCometということかいな?
でも宣言的UIもWinFormsとは全く違うよね、多分。
2022/02/05(土) 18:12:45.33ID:xQipYjTo
宣言的UIはXAMLみたいなやつ
2022/02/05(土) 21:13:43.76ID:b/8WCMUm
>>244
そんな奴はこのスレ覗きに来ないと思うんだが
2022/02/06(日) 00:16:10.15ID:keaNtWdY
>>256
やっぱ、そうか。
だからMAUIはXAMLのものと、XAMLではないがXAMLに似たものの二系統作られるという
ことに過ぎないのだろう。
2022/02/06(日) 23:44:13.73ID:R7IEDvqe
.Net Frameworkも4.8.1でまだまだ延命
2022/02/06(日) 23:45:18.71ID:Ly8LsSyr
.NET6への移行がしんどいの?
2022/02/07(月) 00:52:33.72ID:NnlheoBA
6は2年でまた移行だからな
日本ではその度にSIerにぼったくられることになる
2022/02/07(月) 01:04:51.01ID:FwV6Svjt
海外はちゃうの?
2022/02/07(月) 09:01:44.53ID:hJS1F7H6
>>259
ARMだけになりそうじゃね?
2022/02/07(月) 11:48:44.65ID:uh676PEA
ListBoxのItemPanelTemplateにCanvasを指定しているとき
Windowに合わせて拡大・縮小する方法教えて

ViewBoxにListBoxを入れてみたけどWrapPanelとかはスケールされるのだが
Canvasのときは表示されないみたい
2022/02/07(月) 12:52:29.42ID:qVVndxor
Canvasを使わない
2022/02/07(月) 18:48:16.24ID:B+4mD2P/
次の.NETでWPFにWin11用テーマが搭載される可能性
2022/02/07(月) 19:11:40.12ID:EFpTEQx0
MAUI(Xamarin)に望みが無いならWPFも先細り
2022/02/07(月) 20:22:40.56ID:IU9XfAJW
MAUIの正体がXamarinだって知ってる奴は
こんなもんにはなから望みなんてないってわかってるよ
2022/02/07(月) 22:28:30.64ID:c4tJbt0p
UNOちゃんも忘れないで(´;ω;`)
2022/02/07(月) 22:55:34.92ID:fWZpMVoi
もういいよ
こんなゴミフレームワーク使うのやめたから
何十年まともなの作れないんだMSは
2022/02/08(火) 18:38:34.00ID:yVfGM/kR
WPFに新たな希望が!!
https://github.com/lepoco/wpfui
2022/02/08(火) 18:50:22.26ID:5BCjIQvt
俺が前スレで紹介した記憶が
273デフォルトの名無しさん
垢版 |
2022/02/08(火) 23:49:46.25ID:MbsHgQqH
すみません 教えてください
WINDOWS UI3 を使ってMVVM ってできるのでしょうか?
サンプルみたいのもないのでできるのかどうかわからないので
教えていただけますでしょうか?
2022/02/09(水) 03:28:04.00ID:/I7OzU9p
MVVMが目的になってる時点で駄目w
本末転倒だよ
2022/02/09(水) 06:34:10.19ID:czYNULL0
>>273
できるよ。
でもMVVMって設計手法の1つに過ぎないから
開発内容に合わせて適用するかどうか考えなきゃ駄目だよ。
徒歩10数歩で行ける隣の家にわざわざガレージから車出して行こうとする頭の悪い人になっちゃだめだよ。
2022/02/09(水) 08:01:14.11ID:ehg+FXfN
>>273
WinUIはかなりヤバイよ。
公式ドキュメントに
パフォーマンス悪いです、メモリめっちゃ食います、ファイルサイズ無駄にでかいです
なんて載せて予防線張ってるぐらいだから。
SDKのバージョンは一応1.0だけど実質まだ0.5ぐらいの出来。
正式版として世に出しちゃいけないレベル。
止めはしないけどいつでも撤退できるようにしておきな。
これやるくらいならまだWPFの方がつぶしが効く。
2022/02/09(水) 09:25:08.14ID:Og7wuzEA
2022年という未来の世界に生きてるのに未だにまともなフレームワークがないってどうなってんの
2022/02/09(水) 10:05:21.84ID:/I7OzU9p
結局プロの使用に耐えるフレームワークはATLだけだったな
あとは全部不完全か初心者向けの不自由なものでしかない
2022/02/09(水) 10:23:03.43ID:HpfuVDAv
>>274
頭ごなしの否定良くない
既存のMVVMアプリがあって、Vだけ入れ替えるのを検討してるのかもしれないだろ
2022/02/09(水) 10:49:46.38ID:/tE30TH1
ソフトウェアのアーキテクチャ的に
誰も議論しないぐらい
残らないアーキテクチャだったな
WPF流MVVM
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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