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

■ このスレッドは過去ログ倉庫に格納されています
2021/09/19(日) 18:43:39.82ID:9XIs1/Nq
WPF(Windows Presentation Framework)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
602デフォルトの名無しさん
垢版 |
2021/12/25(土) 16:37:50.69ID:FCdBQpYa
初代MVVMおじさん元気にしてるかな
2021/12/25(土) 16:45:12.91ID:9Hho0xjg
>>599
そこまでやらなくてもunsafe使って範囲チェックを省略すれば相当早くなるよ
2021/12/25(土) 16:49:45.65ID:CoOPSMvi
だよな
unsafeで結構十分だよな
これがJavaだとJNIでCのコード書くことになるが
2021/12/25(土) 16:53:06.73ID:bGAd2vTp
>>600
後半の内容全く関係ないない話してるけど
詐欺師出身の方?
2021/12/25(土) 17:05:49.46ID:5ppS8Aaq
unsafeの突入コストがこれまた重い。クラス内で配列持ってると外からメソッド等でアクセスするとこの突入コストは避けれない。.netは遅くない、WPFは遅くない、unsafeがあると言ってる人たちは最初からその程度の要件だっただけなんだよ。速度重視の最適化で必ずぶつかる壁にぶつかってない。

だから速度が要件のアプリ、ライブラリではなかなか移行してもらえない。Javaと同じ轍を踏む必要はない。
2021/12/25(土) 17:14:32.16ID:CoOPSMvi
範囲チェックの事しかいってないのに
どんどん後づけされてもきりがない
608デフォルトの名無しさん
垢版 |
2021/12/25(土) 17:16:39.95ID:pFGjUvNq
WinUIはC++でも使えるのだが
2021/12/25(土) 17:26:06.06ID:5ppS8Aaq
WinUIのビッグウェーブくるぞ。

そしてWPFと同じく10年経ってなぜMSは移行に失敗したかって言うんだろうな。
2021/12/25(土) 17:58:27.05ID:i1pk2T+3
UWPの,net nativeはunsafe相当の速度ってベンチマーク見たな
611デフォルトの名無しさん
垢版 |
2021/12/26(日) 08:00:15.44ID:3SvVIkhf
>>602
U氏ならとっくにMVVMから足を洗ってるよ
2021/12/26(日) 09:55:11.53ID:hvR4lE2p
MVVM原理主義者は融通が効かなくて困る。
2021/12/26(日) 10:07:30.44ID:PnBrsUGe
そりゃどこの世界でも原理主義者はそういうもんだろう
2021/12/26(日) 14:12:53.65ID:RHzexC5p
MVVM原理主義者もMVVM絶対忌避者も両方アホ
2021/12/26(日) 14:20:07.63ID:jdmjK4iH
>>614
UIデザイナーなんて碌な仕事しないという経験から直感で現場でWPFは使い物にならないと思ったPGは多かったが
実際そうだったのだからアホではなく単なる経験の差である。MSも移行してもらえなかったからwinformを捨てられないしね。
キミは確かに無駄な努力、遠回りしただけのように見えるがよく頑張ったよ、立派だよ。おつかれさん。
616デフォルトの名無しさん
垢版 |
2021/12/26(日) 14:32:36.47ID:zDHpMfaY
wpfはプログラムの出来ないデザイナーでも使えます!
2021/12/26(日) 14:36:43.42ID:ghBgnKM8
>>615
何でMVVMの話がWPFの話にすり替わるんだ
まさかMVVM=WPFだと思ってるの
2021/12/26(日) 14:45:09.39ID:jdmjK4iH
>>617
そりゃここはWPFスレだからさ。なら最初からWPFは無視して
純粋にMVVMの話で限って言えば〜と先に断っておいてくれよ。
ボクはエスパーじゃないんだ。だがUIデザイナやMVVM連呼厨が
ユーザやPGのことなど全く考えてないことは経験として知っている。
MVVM論で言えば尻拭いするのはいつもPGと顧客だ。
2021/12/26(日) 14:48:17.01ID:PnBrsUGe
>キミは確かに無駄な努力、遠回りしただけのように見えるがよく頑張ったよ、立派だよ。おつかれさん。

自分じゃマウント取りにいったつもりなんだろうけど他人からはアホに見えるパターン。
気を付けた方がいいよ。
2021/12/26(日) 14:49:05.03ID:TBcJiomy
MVVMの要であるBindingはListViewなどではイベント型でも避けて通れないものなんだからBinndingは習得するしかない
Bindを理解しているのにMVVMを避ける理由ってそれほどないよな
2021/12/26(日) 14:50:43.04ID:ghBgnKM8
>>618
WPFに限定してのMVVMか非MVVMの話だとしても
文脈を無視してWPFが使い物にならないとか言い出す意味が分からん
2021/12/26(日) 15:08:16.26ID:jdmjK4iH
文脈がないのがUIデザイナー。ユーザの実務無視して見た目しか考えてない。マジ迷惑。
そんなことよりキミたちはよく頑張ったよ。その若さ溢れる才能で次のMVVMフレームワークをまた勉強したまえ。
WPFが登場して15年か。キミたちも相当に随分老けてないか。
2021/12/26(日) 18:29:45.67ID:TBcJiomy
「〇〇ができる」でマウント取るのは容易いことだが
「〇〇が出来ない」でマウントを取りに来るって
ある意味チャレンジャーだよなw
2021/12/26(日) 19:18:37.03ID:0tkG5TaR
>>623
キーボードスレにタッチタイプ出来ないことでマウントとる奴おったw
2021/12/26(日) 20:01:22.81ID:jdmjK4iH
日本人のくせに効率のいい、頭にも負担が少ない「かな」入力ができないなんて頭に欠陥あるんですかね。
ボクはただの努力不足だと思いますよ。ガラケー使ってる私を馬鹿にしてるiPhone君見てると入力が遅くて遅くて仕事が遅いんです。どっかのMVVM論者ですね。
2021/12/26(日) 20:22:06.53ID:vKRYpucd
いつも思うけどW:PFやMVVMを批判する人はなんか必死だよねぇ。
それだけルサンチマンが溜まっているんだろうか。
2021/12/26(日) 21:32:33.04ID:dwxjo6Mj
MVVM、ひいてはMVCが理解出来ないVB6脳なんじゃないかと思っている
2021/12/26(日) 22:00:58.48ID:r6Df+W+7
WPFのは異常にめんどくさいMVVMだよ
他の知ってると馬鹿らしさ満点だから

しかも身につけたスキルが他で全く使えない
↑これが一番辛いぞ
2021/12/26(日) 22:12:17.30ID:bjcghV5B
Reactとかと比べると別物だよなあ
考え方は同じにしても旧石器時代と現代くらいの違いがあるよ
2021/12/26(日) 22:26:34.17ID:jdmjK4iH
>>626
私はヘジのDOS時代のIDEに感動し、VCLのチート的な完成度にも妥協しwinformは最高だと思いましたよ。
そう言えば私がどれだけWPFに期待し、ガッカリしたか分かっていただけるかと。
そりゃあたたちMVVM信者の期待も無念に臥し、WPFは普及しませんでしたけどね。

この長く続くスレは負け犬たちの墓場なのです。
2021/12/26(日) 22:32:26.33ID:vKRYpucd
ReactのスキルをReact以外で使えたためしはないが、だからといって別にReactがダメだとも思わんがな。
2021/12/26(日) 22:37:41.54ID:j9YfNtBi
>>601
ケースの1つをあげただけじゃん
後付け条件てw
読解力低すぎだろ
2021/12/26(日) 22:37:43.53ID:bjcghV5B
私は異常に面倒くさいってとこに同調しただけで、他で使えるとか使えないとかは論じてないのでご理解お願いしますよ
2021/12/26(日) 22:39:17.15ID:bjcghV5B
むしろMVVMの考え方自体は同じである(他でも使える)とまで言っているんだぜ
2021/12/26(日) 22:50:33.40ID:vKRYpucd
相変わらずこんな熱いWPF批判をさせる何かがそこにはあるんだろうな。
2021/12/26(日) 22:59:53.43ID:jdmjK4iH
大事なのはおまえは使えてもおれは面倒で使えないという事実だ。
神は越えられない試練は与えないのだ。
2021/12/26(日) 23:16:28.31ID:ErCoZP15
wpfの記述が長くなるのは何とかなりませんか?
Androidのレイアウトに比べて見にくくて仕方ありません。
複雑になりそうな時はUserControl作ってますが、例えばリストやコンボボックスの列のレイアウトを別ファイルに持たせることはできないのでしょうか?
2021/12/27(月) 01:14:30.78ID:dpABR8Gh
DataTemplateをResourceに書いて外部化すれば良い
2021/12/27(月) 08:45:05.07ID:XZFU96F9
>>638
ありがとうございます。初心者でDataTemplateの外部化がわからないので調べてみます。
よくあるサンプルで長々と書いてあるのは分けると説明がしずらいとかなんかあるんですかねぇ。
2021/12/27(月) 11:50:33.83ID:MpjVnFnY
>>578
実質、WinUIはまだ使い物にならないって事か。
1ウィンドウページ切り替えのタイプで使い勝手を損なわずに済むものなんてかなり限られるし。
よくある一覧/詳細画面は別ウィンドウで自由な配置で見比べながら作業したいだろうし、
今の一般的な環境なら複数ディスプレイにそれぞれウィンドウを配置して使われるだろうし、
詳細画面は複数起動できたほうが喜ばれるだろうし。
641デフォルトの名無しさん
垢版 |
2021/12/27(月) 15:13:15.42ID:939Tcckd
wpfでデータバインド使いたい場合は
ViewModelにViewの参照渡してブンブン使っちゃえばいいのでしょうか
2021/12/27(月) 15:34:18.01ID:Ijy96lJZ
逆だろ
2021/12/27(月) 15:35:03.77ID:Ijy96lJZ
DataContextにVMを入れてXAMLでバインドすんだろ
2021/12/27(月) 15:40:40.47ID:ZJC6NOI1
釣りだろ?
2021/12/27(月) 16:26:07.11ID:P0DjFoVH
>>640
Microsoft「ぜひMDIを・・・。」
646デフォルトの名無しさん
垢版 |
2021/12/27(月) 16:47:06.90ID:mU5OforF
>>644
いえ
反MVVM派のやり方が知りたかったのです
バインドは使ってない?

Viewのクラス(this)をデータコンテキストに入れているコードもありましたがこれは問題ありませんか?
647デフォルトの名無しさん
垢版 |
2021/12/27(月) 16:53:29.12ID:vN7BrHe2
データを全部Vのプロパティに持つのが最速
648デフォルトの名無しさん
垢版 |
2021/12/27(月) 17:32:41.88ID:MyWm/8Po
WinUIならWPFほど何でもかんでもMVVMでっていう感じじゃないよ
2021/12/27(月) 17:49:14.74ID:mT+7462y
>>645
MDIじゃ親ウィンドウの外に出せないんだから
ページ切り替えの欠点を解消できない。
2021/12/27(月) 17:51:03.12ID:jrwdijIl
ええ???

どこがそんなに違うの??
651デフォルトの名無しさん
垢版 |
2021/12/27(月) 18:08:25.69ID:mU5OforF
>>650
MDIを見たことない世代ですか?
イメージとしてはマックみたいな感じ
まず壁紙が見えない(他のアプリも)
マルチディスプレイ対応が無理ゲー
2021/12/27(月) 18:23:05.26ID:g9U/rNiJ
マルチウインドウはVer1.1で搭載予定でQ2リリースだから4−6月まで待てばいいんだけどね
https://portal.productboard.com/winappsdk/1-windows-app-sdk/tabs/2-planned
2021/12/27(月) 18:30:47.77ID:XZFU96F9
>>646
これダイアログ作る時よくやるけど
2021/12/27(月) 18:33:05.07ID:jrwdijIl
>>651
ごめん、>>648に対するレスでした
655デフォルトの名無しさん
垢版 |
2021/12/27(月) 18:55:38.86ID:MyWm/8Po
WinUI始めてサンプルコードとか見てるとコードビハインドに書いていくのが基本
(WPFもだが)そのための機能は用意されてるわけだし
改めてMVVMは選択肢の一つというところに持っていきたい感じがする
実際、コードビハインドに書いて何か混乱が起きるようなことはそうそうないと思った
2021/12/27(月) 19:15:37.37ID:fF4fFKCG
>>646
MVVM派とか反MVVM派って考え方がおかしくて、
WPFアプリケーションごとにMVVMが適しているか、コードビハインドが適しているか考えて
その都度、より適切な方を選択するんだよ。
2021/12/27(月) 19:47:43.92ID:GqIwMQGT
WinUIも失敗確定の予感がしてきたな。
2021/12/27(月) 19:51:46.84ID:P0DjFoVH
どれが鉄板なんだよもう
2021/12/27(月) 19:59:09.24ID:HCL8lum8
>>658
そんなものは無いから困ってる
WinUIは期待されてるけどどうなることやら
2021/12/27(月) 19:59:34.59ID:GqIwMQGT
10年前からWinUIってあったのか完全にスルーしてたわ。既に普及に失敗してたんだな。
2021/12/27(月) 20:09:16.66ID:HCL8lum8
>>660
WinUI 2まではUWP専用だったから、まぁ当然の結果
WinUI 3で適用範囲を広げて仕切り直し
662デフォルトの名無しさん
垢版 |
2021/12/27(月) 20:31:07.25ID:MyWm/8Po
適用範囲広げてというかおすすめできるのはデスクトップのC#かC++かだけでしょ
WPFから使うとかUWPからつかうとかはやめたほうがいい
2021/12/27(月) 21:49:30.05ID:lhVIwToQ
>>655
寧ろイベントをバインディングできるから、コードビハインドと同じやり方でMVVM出来る
2021/12/27(月) 22:00:20.37ID:yKRhwp3Q
>>657
もう確定だよ
アンドロアプリ作ってWindowsで動かす時代が目の前だ
2021/12/27(月) 22:31:12.36ID:jrwdijIl
windowsの中でマテリアルデザインのアプリ動かすなんて違和感ありまくりだよな

https://github.com/bdlukaa/fluent_ui

flutterでfluent design
優秀
666デフォルトの名無しさん
垢版 |
2021/12/27(月) 22:33:44.60ID:jrwdijIl
https://bdlukaa.github.io/fluent_ui/
web版のデモ

まぁパフォーマンス要求するアプリは専用の開発環境使った方がいいが
667デフォルトの名無しさん
垢版 |
2021/12/27(月) 22:35:28.15ID:jrwdijIl
最新の宣言的UIフレームワークのcomposeのfluent design版もそのうちでてくるだろう
668デフォルトの名無しさん
垢版 |
2021/12/28(火) 00:16:04.33ID:2V9I50ip
開発者に多い勘違いがクロスプラットホーム開発でユーザーが喜ぶと思ってるやつだな
ユーザーはそれぞれの環境で最高のもの作れって思ってるよ
669デフォルトの名無しさん
垢版 |
2021/12/28(火) 00:32:37.93ID:pWYDa5PG
>>668
貴様Xamarinに謝れ!
2021/12/28(火) 08:12:31.11ID:9j3GtQtv
一般ユーザーからしたら違いなんてわからないし作り方はどうでもいいでしょ、バグがあったら怒るけどさ
2021/12/28(火) 08:27:38.52ID:7e2EiV6y
>>668
開発の負荷低減じゃねーーの?殆ど
2021/12/28(火) 09:02:43.91ID:6qKuWZ8W
>>666
fluentを名乗っているけどmetroじゃん
2021/12/28(火) 16:17:19.77ID:cRnXqUQL
>>666
Edgeだと起動すらしない
2021/12/28(火) 16:19:25.07ID:cRnXqUQL
>>672
これは確かにWindows PhoneのメトロUIだな。
これはこれで悪くない。
Windows 8のモダンUIは微妙だったが。
2021/12/28(火) 17:04:50.85ID:dPvR+eDL
ん?
windows phoneのやつはWindows 8のメトロUIとは違うものなの??
windows 8のメトロUIとは似てないんだが
そもそもNavigationViewみたいのはないし
CommandBar(AppBar)はあったけど
676デフォルトの名無しさん
垢版 |
2021/12/28(火) 18:28:42.71ID:2V9I50ip
flutterもまだ安定してないみたいだな
2021/12/28(火) 21:12:29.71ID:cRnXqUQL
>>675
Windows8のUIはメトロじゃなくて「Windows8スタイル」とか「モダンUI」と呼ぶ。
678デフォルトの名無しさん
垢版 |
2021/12/28(火) 21:27:10.40ID:X6POOMbk
WPFスレじゃなくて
最新Windows開発パラダイムを模索するスレ
になっとるな
どうせ過疎だからいいか
2021/12/29(水) 11:02:09.12ID:+U5IKroD
メトロUIが実務でWindows使ってた人たちに拒否されたのが
GUIフレームワークライブラリの崩壊の発端。
2021/12/29(水) 11:43:48.38ID:b+BxW/Al
>>679
まじ?
2021/12/29(水) 12:12:20.18ID:g1izTnUh
>>679
実務でWindows使ってた人達がメトロUIに触れる機会なんてMS社員ぐらいしかいないだろ。
実務で使うWindowsにメトロUIは無かったんだから。
682デフォルトの名無しさん
垢版 |
2021/12/29(水) 21:22:05.38ID:DRBvAIur
フルスクリーンで仕事できるわけが無い
683デフォルトの名無しさん
垢版 |
2021/12/29(水) 22:12:51.56ID:9HQMVbRt
今振り返ってもこのときのUXチームはとち狂ってたとしか思えん
https://yaneurao.hatenadiary.com/entry/20120620/p1
https://u-site.jp/alertbox/windows-8
2021/12/29(水) 22:48:58.04ID:gZzIOeKX
いまだにWindows8のツケを払わされている感がなぁ。
一回リセットしてWindows7からやり直してくれないかな。
685デフォルトの名無しさん
垢版 |
2021/12/29(水) 23:01:46.07ID:wwN1RbRp
メトロって地下鉄のこと?
2021/12/29(水) 23:05:30.38ID:a/yruJDS
>>685
中心的な大都市のこと
687デフォルトの名無しさん
垢版 |
2021/12/29(水) 23:09:59.11ID:wwN1RbRp
じゃあにぎやかなUIを目指したのかな。
2021/12/29(水) 23:26:49.68ID:a/yruJDS
>>687
都会的UIじゃないの
2021/12/29(水) 23:32:15.02ID:gZzIOeKX
地下鉄の案内表示を真似たって言ってた
690デフォルトの名無しさん
垢版 |
2021/12/29(水) 23:35:54.65ID:wwN1RbRp
地下鉄の案内見て目的地に着くのは無理では?
一貫性が無いし、わかりにくい。
2021/12/29(水) 23:44:24.07ID:/ZEI8rXC
>>690
アメリカの地下鉄は見やすいんじゃないの
692デフォルトの名無しさん
垢版 |
2021/12/30(木) 00:03:45.76ID:wt8M+IJC
アメリカでは絶対に地下鉄に乗るなって言われたけど。
2021/12/30(木) 00:37:28.92ID:zcLz16Vn
>>692
それは犯罪が多いからでは
694デフォルトの名無しさん
垢版 |
2021/12/30(木) 00:52:33.91ID:wt8M+IJC
梅田の地下街で迷ったら半日潰れる。
GPS使えないし。
2021/12/30(木) 00:55:19.17ID:zcLz16Vn
大阪メトロは碁盤の目状の路線だから分かりやすい
696デフォルトの名無しさん
垢版 |
2021/12/30(木) 00:59:52.07ID:wt8M+IJC
分かりにくいよ。
2021/12/30(木) 01:01:44.50ID:zcLz16Vn
>>696
地下街じゃなくて路線図だよ?
698デフォルトの名無しさん
垢版 |
2021/12/30(木) 01:02:06.44ID:wt8M+IJC
大阪メトロは外敵の侵入を防ぐため、わざとに錯誤させる案内表示にしてるって聞いた。
699デフォルトの名無しさん
垢版 |
2021/12/30(木) 01:14:03.09ID:wt8M+IJC
吉村が「明日から地下鉄を半額にするキリッ」って言えば良いのに。
2021/12/30(木) 06:00:59.54ID:PABb0SdJ
Metro UIまではAppleも認めるほど優れていたんだが、
それをWindows8に移植してModern UIになったときには別物のゴミになっていた。
2021/12/30(木) 07:53:04.49ID:i2czhrVY
WindowsのUIは、少しずつ変えれくれればいいのになぁ
急に変えすぎなんだよ、見た目も中身も
■ このスレッドは過去ログ倉庫に格納されています