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

レス数が1000を超えています。これ以上書き込みはできません。
2021/06/20(日) 17:04:18.66ID:7UVkl7BZ
Windows Presentation Frameworkについて語るスレ。

前スレ
WPF(.NET4.x, .NET Core) GUIプログラミング Part25
https://mevius.5ch.net/test/read.cgi/tech/1612522463

関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2021/09/19(日) 18:38:16.20ID:z/QIU9f5
いちいちというかConverterはふつうに作ってるな。ある程度作ったらあとは使いまわせるし。
2021/09/19(日) 19:16:13.86ID:cbIcUE3M
お前がXAMLをどう思うかなんてのはどうでもいいことだ
アニオタが自分はこのアニメが好きでこのアニメが嫌いって言ってるのと変わらん
2021/09/19(日) 19:19:44.56ID:iNtXNZB3
>>970
DataTriggerを設定する
2021/09/19(日) 19:25:44.86ID:E5LuOPCO
>>969
何の速度の事をいってるのか判らんが、
動作速度はコードビハインドのが早いぞ
2021/09/19(日) 19:38:38.45ID:/b0JgwvO
>>964
サンクス
とりあえずコードだと宣言的にはできないということはわかった

>>967
サンクス
裏を返せば、コードだと画面がイメージできない・しにくい、と言ってるんだな、それは分かるかも
差分はイメージできる前提でメリットにはなり得る
スニペットってどの粒度で作ってあるんだろう?
それを標準で載せてくれよと思うわ
左のリストボックスで選択すると右のリストボックスに移る奴とかさ、結構使うだろ
2021/09/19(日) 19:40:34.61ID:lTTF8pbf
たぶん、動作速度の事いってないと思う
楽でっていってるから、開発速度とかじゃね
2021/09/19(日) 20:29:08.95ID:cF49PKlA
>>975
差分は〜のあたり何言ってるのか分からんが……
とりあえず最後の複数リストボックスのそれはたぶんコードビハインド書かないと無理
フォーカスの移動はバインディングで対応できなかったはずなので
2021/09/19(日) 20:29:10.32ID:cF49PKlA
>>975
差分は〜のあたり何言ってるのか分からんが……
とりあえず最後の複数リストボックスのそれはたぶんコードビハインド書かないと無理
フォーカスの移動はバインディングで対応できなかったはずなので
979デフォルトの名無しさん
垢版 |
2021/09/19(日) 22:15:48.20ID:V+8kg11o
動作速度にこだわるなら言語選び間違ってるよね
980デフォルトの名無しさん
垢版 |
2021/09/19(日) 23:23:28.51ID:bqLn7Zqv
>>970
色を変えるとか簡単な変化ならConverter
スタイルそのものを変えるならTemplateSelector
でもこれループ云々と関係ある?
2021/09/20(月) 00:49:08.80ID:Xe9wEhiD
>>980
Webのテンプレートエンジンを使ったことあるなら、そんな疑問が出てくる方が不思議なんだが
2021/09/20(月) 00:50:49.73ID:Urg8oj7a
>>977
そうかぁ、複数リストボックスはやっぱりコードビハインドが無いと無理そうなのか
フォーカスの移動がネックね
XAMLの限界って奴かな

こういうのがあるなら最初っから腹くくってコードビハインドで書いた方がいい気がしてきた
だって、XAMLで書いててどうやるんだろう?と悩んだ挙句、
結局コードビハインドしか解決法が無い、ということにもなりかねんからね

訂正:
差分はイメージできる前提でメリットにはなり得る

XAMLを見て画面がイメージできる人なら、diffで差分を確認しやすいのはメリットになり得る
まぁ、階層が増えたとか移動したとかは分かりやすいだろうな
983デフォルトの名無しさん
垢版 |
2021/09/20(月) 00:55:56.18ID:rs8t3f0k
>>981
イヤな言い方だね
あんな汚らしい記法は嫌いだわ
ループよりコレクションにバインディングする方が読みやすい(個人の感想です)
2021/09/20(月) 01:02:15.33ID:1ct4tbKZ
xamlはbamlにコンパイルされ理論上はC#コードより速くなるよ
少なくともMSのWPFチームはそう主張して
生C#にコンパイルするcamlを廃止したわけだし
なお実際に測定すると...
2021/09/20(月) 01:17:24.74ID:GKDt5rSn
>>984
それは単純ケースだけじゃ?

MSの公式のパフォーマンス改善の手引きに
バインデイングを止めるようにとあったと思うが...
2021/09/20(月) 01:19:47.53ID:GKDt5rSn
とにかく俺のプロジェクトじゃ
WPFのパフォーマンスの悪さがやり玉に上げられて
それは大変だった...
987デフォルトの名無しさん
垢版 |
2021/09/20(月) 01:25:48.63ID:nLJN3AnD
双方向バインディングをやめてOneWay等も使えって書いてあった気がする
2021/09/20(月) 01:35:10.41ID:rs8t3f0k
WPFのBindingは全部レイトだから遅いのは宿命だわな
UWPからx:Bindを逆輸入すればいいのにと思っていたけどもうWinUIに逝っちゃったからなあ
2021/09/20(月) 01:44:05.05ID:GKDt5rSn
とにかく、
バインデイングとかテンプレートのセレクターの動作をみれば、
遅くなるのは当たり前なんだよなーー
2021/09/20(月) 01:45:44.54ID:GKDt5rSn
>>988
そのx:Bindは早いの?
2021/09/20(月) 03:00:03.34ID:/wXzoW3g
最近のパソコンなら遅いとは感じないけどな。
2021/09/20(月) 04:17:47.61ID:ikLxeDh9
WPFはバインディングよりも描画が重かったイメージだな
2021/09/20(月) 08:09:56.39ID:1ct4tbKZ
>>985
逆だね
単純なケースでは生xamlでも速いのでbamlの利点が生きてこない
VisualStudioで描画が重いと思ったことないので(軽いと思ったこともないけど)
WPFそのものにはポテンシャルは十分にあるんだろう
ただWPFみたいた終わったテクノロジーでそんなレベルの開発者集められるのはそれこそVSの開発チームくらいだろうね
994デフォルトの名無しさん
垢版 |
2021/09/20(月) 08:47:58.20ID:tGJnTRCJ
グラボとメモリが無いとヤバい
2021/09/20(月) 09:31:37.18ID:E4xUszIH
>>982
そういう複合コントロールはユーザーコントロールで作るからデータの出し入れは依存関係プロパティーを使いMVVMは使わず
処理もコードビハインドに思いっきり書く

で、出来たものをページなりウインドウに貼り付けて使用します
2021/09/20(月) 12:01:41.39ID:336bYktz
x:bind 速度の違いが全くわからないので使うのやめた
コンパイル時の型エラーがうざいし
bindingに戻った

速度に関してはそりゃ開発環境入れてるメインマシンで動かせばそりゃ問題ないけどさ、ローエンドのCPU積んでるマシンで動かしたらどうなんだろう
今時のローエンドでもbaytrailのatomからは随分速くなったろうから問題ないと思うけど??
2021/09/20(月) 12:11:27.54ID:GKDt5rSn
>>993
WPFは遅くて同時は叩かれましたよ
そのあと改良されて大部分巻き返しましたが
同時かなり高度な描画デバックキットがリリースらされましたので
それを駆使して対処してましたが
XAMLとバインデイングから
どのようなコードが生成されてるのか
予測が付かなくて
地獄見ましたよ
998デフォルトの名無しさん
垢版 |
2021/09/20(月) 12:12:02.12ID:336bYktz
つかさ、winuiもいいんだけださ
そもそもwindowsを開発とかのマウス入力前提の環境でしかつかってないんだよ
だから、winuiのfluent designがタッチ入力よりすぎで微妙すぎる
2021/09/20(月) 12:16:06.20ID:si8x6YH6
>>990
WPFにはx:Bind無いので直接比較はできんけど
UWPで同じようなもん作ったとき、Binding連発してるところで
WPFだと頻繁に見られるタメみたいなのがなかったね
1000デフォルトの名無しさん
垢版 |
2021/09/20(月) 12:21:05.16ID:336bYktz
まじで?
俺はUWPのbindingとx:bindしか比較してないけど
x:phaseとかも使ってみたけど

体感で全く違いがわからなかったわw

もちろん厳密な比較はしてないけど
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 91日 19時間 16分 47秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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