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/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
281デフォルトの名無しさん
垢版 |
2022/02/09(水) 10:58:39.93ID:WFT7SUOm
枝葉の議論でゴチャゴチャ言ってるザコ共をMVWという本質を突く一言で一刀両断したのは流石だわ
2022/02/09(水) 12:52:41.22ID:/KeHMgiK
ザコがキャンキャン吠えてるw
283273
垢版 |
2022/02/09(水) 23:47:59.46ID:TVdAx4La
みんなありがとうございます。

勉強になりました。
イベントドリブン型が何となくよくわからなくって

MVVMで慣れちゃったから
本当は、 WPFでトグルスイッチが使ってみたかっただけなんだよね
2022/02/10(木) 08:45:19.96ID:nQ/8CiES
ToggleButtonじゃなくスマホで見かけるやつでしょ、ユーザーコントロールで作成だね
実際に作った人もいるので参考にしたり拝借してくるといい(要ライセンス確認)
2022/02/10(木) 09:53:13.85ID:Yjh1sxXd
チェックボックスとトグルスイッチの使い分け、毎回悩むわ
2022/02/10(木) 13:37:50.16ID:cZrPxvvk
見やすく使いやすいのがいい→チェックボックス
ナウなヤングにウケるカッコいいのがいい→トグルスイッチ
で悩むことないやろ
2022/02/10(木) 13:50:07.08ID:RrRl5YtT
ダークモードね白黒反転するやつね
2022/02/10(木) 14:14:25.03ID:fc/2R9d2
設定項目群に関連があり、「これとこれを有効」みたいなのはチェックボックス。
確認を求めるようなのや説明的な設定項目はチェックボックス。
有効/無効で表現しやすく、設定が即座に反映されるようなのはトグルスイッチ。
2022/02/10(木) 15:00:32.93ID:nQ/8CiES
使いわけというかデザインセンスだね
例えば、次回から表示しない、はチェックボックスでトグルスイッチ使ってるのを見たことない
2022/02/10(木) 15:02:08.67ID:SVzOFq4x
即時反映: トグルスイッチ
ダイアログの肯定応答ボタン押下で反映: チェックボックス
2022/02/10(木) 15:44:50.18ID:wbG7UtHv
MSのドキュメントに用途のガイドラインは書いてある
https://docs.microsoft.com/ja-jp/windows/apps/design/controls/checkbox
https://docs.microsoft.com/ja-jp/windows/apps/design/controls/toggles
292273
垢版 |
2022/02/11(金) 16:25:36.11ID:gQQrjeaP
>>284
アドバイスありがとうございます。
早速 いくつかの トグルスイッチを使ってみたのだけど
トグルスイッチのイベントの形態が2種類あることがわかって、

今まで使っていたのは、 ”状態が変化した”ことでイベントととするもの
他には
"ONorOFF"になったことをイベントとするものです。

VMでどう吸収しようか検討中です。
2022/02/12(土) 09:00:34.53ID:kNmQX4vn
見た目の変更とかアニメはコントロールの中で完結する方が見通しよくなるし
他でも使えるようにライブラリ化できる
MVVMは関係なく、単に自作UIとしてトグルをどう作り込むかによる
金さえ出せばコンポーネント屋から完成しているトグルスイッチを購入できるので
自作の工賃とライセンス料を天秤にかけるわけだ
2022/02/12(土) 17:38:53.23ID:ZwiH+04Q
普通これ使うだろ
https://github.com/lepoco/wpfui
https://github.com/MahApps/MahApps.Metro
https://github.com/Kinnara/ModernWpf
2022/02/13(日) 01:05:59.76ID:NN0JuhkI
>>294
サンプルだとかっこいいんだけど、
漢字や平仮名のボタンとか急にダサくなって困る。
2022/02/13(日) 09:01:56.66ID:39UxLAwC
都度フォントの変更大変そうだなと思ったらResourceDictionaryにFontFamilyを指定しとくのか
2022/02/14(月) 08:48:32.05ID:JUrXsXai
>>295
英語だとカッコイイってのがそもそも思い込み。
隣の芝が青く見える的な。
ガイジンさんから見たら漢字カッコイイって思ってるかもしれん。
2022/02/14(月) 20:30:33.82ID:OKHyco7f
>>81

キチガイの世界へようこそ・・・
と言うか20世紀なのか今は?
2022/02/14(月) 21:53:59.37ID:7DLpkbM0
>>298
参考までに

Windows 95 最小ハードウェア仕様要求
物理メモリー、8 MB以上
ストレージ、75 MB以上
2022/02/14(月) 22:10:00.51ID:VjWJSQ6q
いくらPCが速くなってもWPF使ったソフトはクソ重い。
MSすら使いたがらないわけだ。
2022/02/14(月) 23:21:43.51ID:0GI11KhK
>>299
たしか1998年にあまり予算をかけたくない俺は
Celeron300AでRAM256MB積んだPCを自作していた

そのころの話か?
やはり20世紀の話だろこれは?
2022/02/15(火) 06:12:51.13ID:hA9gyrCi
>>301
お前がどんなPC組んでたとか全く意味ない。その時代に普及しているPCスペックが全て。
2022年だからそれに合わせてこんな甘々な基準になっているのに
それすらクリアできないようならソフトウェア技術者向いていないから転職を勧める。
2022/02/15(火) 08:57:14.52ID:VnsR49ox
10年前からWPFは既にあって、当時の話題とは
Windows Formsから移行とかSilverlightと比較とか
比較対象が変更されはしたが、今と大して変わらない話題だよね
2022/02/15(火) 15:34:06.63ID:GyhCU1xc
WPFは出た直後にクソ認定されて15年経ってもその評価は変わらない。
FISやIOCと違って技術者は賄賂は受け取らないし忖度もしないのだ。
2022/02/15(火) 15:57:40.84ID:tpfUF+h+
WinForms
・旧来のウィンドウズAPIの上にレイヤーを重ねたようなもので、(シンプルであるという)利点と
 (平凡なレイアウトやスタイリングオプションという)致命的な災いの両方がある。

WPF
・WinFormsからわずか4年後にリリースされたが、デザインパターンとコンセプトがより複雑であったため、
 一般に受け入れられるまでにはしばらく時間がかかった。
・大規模なデータセットに対してWinFormsよりも大幅に高速化できるが、正しく使用するにはより深い知識が必要である。
・現状は WPF on .NET 6 が一番つぶしが効く状態。

UWP
・Windows UIの未来だったが、鳴かず飛ばず、現在はメンテナンスモードになっている。
 良い点:魅力的なUIを簡単に作ることができ、マウスとタッチの両方でうまく動作する。
 悪い点:サンドボックスとパッケージングの要件が非常に厳しい。
 結論:避けるべき。

WinUI 3
・小さなチームがUWPのUIスタックからできる限りのものを救い出そうとしている。
・遅い、バグが多い、そして多くの歴史的なお荷物が重くのしかかる。
・開発体験はWPFの方が上であり、開発チームは改善に消極的である。
・1年後にまた確認したいが、私は悲観的だ。
2022/02/15(火) 19:01:34.90ID:VjJREOVz
現状、WindowsデスクトップアプリはWPFでWinFormsのようなイベント駆動が一番マシなんですかね
レイアウトの自由度、高DPIへの対応、表示速度を争点にした場合
2022/02/15(火) 19:16:29.32ID:3zKYAjvH
winrtはどこに属すの?
2022/02/15(火) 19:33:35.93ID:ES8IiGQC
>>306
それでいいと思う。それが一番処理速度的にもファイル構成的にも無駄がない。
ただViewに依存しない処理はなるべく別クラスに切り出すことぐらいはしておいたほうがいい。
2022/02/15(火) 19:36:57.71ID:sOBRzctF
データバインドは使わんの?
エラー表示とか便利っぽいよね
2022/02/15(火) 20:18:43.19ID:A9ZkwK3T
>>309
使った方がいいと思った箇所で使えばいいんじゃね?
どちらかに縛る必要はないと思うが
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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