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/
探検
WPF(.NET, WinUI) GUIプログラミング Part26
レス数が1000を超えています。これ以上書き込みはできません。
2021/06/20(日) 17:04:18.66ID:7UVkl7BZ
927デフォルトの名無しさん
2021/09/16(木) 15:14:51.39ID:jImn+LiB >>926うおーすごい。stack overflowでもそこまでドンピシャな回答無かったです。
ありがとうございました。
ありがとうございました。
928デフォルトの名無しさん
2021/09/16(木) 15:50:04.83ID:4N92z3xf コレクションをオーバライドして
改良するってアーキテクチャ知らない人多いね
改良するってアーキテクチャ知らない人多いね
929デフォルトの名無しさん
2021/09/16(木) 18:38:42.38ID:EvK5hxPz 結論としては、超絶に面倒臭いって事か
930デフォルトの名無しさん
2021/09/16(木) 19:41:02.61ID:yaf4gWdF 仮にオーバライドしないで出来るならその方がずっと楽だしな
931デフォルトの名無しさん
2021/09/16(木) 22:04:26.97ID:vfYN11/r932デフォルトの名無しさん
2021/09/16(木) 23:23:17.08ID:8UT+IRDB https://docs.microsoft.com/en-us/archive/blogs/johngossman/introduction-to-modelviewviewmodel-pattern-for-building-wpf-apps
バインディングが関係ないとか言ってる奴はこのMVVMの原典を読んでおくように
> Model/View/ViewModel also relies on one more thing: a general mechanism for data binding.
バインディングが関係ないとか言ってる奴はこのMVVMの原典を読んでおくように
> Model/View/ViewModel also relies on one more thing: a general mechanism for data binding.
933デフォルトの名無しさん
2021/09/17(金) 01:51:24.22ID:oPdLmI0u In practice however, only a small subset of application UI can be data bound directly to the Model, especially if the Model is a pre-existing class or data schema over which the application developer has no control.
モデルが既存のクラスで開発者がコントロールできない場合は、UIの一部のみを直接モデルにバインドできます。
ってあるけど、既存のクラスなんてINotifyPropertyChanged実装してるわけないし、どういう意図なんだろ?
OneTimeならそりゃできるだろうけど。
モデルが既存のクラスで開発者がコントロールできない場合は、UIの一部のみを直接モデルにバインドできます。
ってあるけど、既存のクラスなんてINotifyPropertyChanged実装してるわけないし、どういう意図なんだろ?
OneTimeならそりゃできるだろうけど。
934デフォルトの名無しさん
2021/09/17(金) 02:13:01.71ID:OCPIK6qi935デフォルトの名無しさん
2021/09/17(金) 07:24:25.96ID:9pvNRBKH 滅茶苦茶な機械翻訳を鵜呑みにして混乱してる初心者あるある
また断続的な絞首刑が発生しちゃうね
また断続的な絞首刑が発生しちゃうね
936デフォルトの名無しさん
2021/09/17(金) 08:29:29.04ID:oPdLmI0u >>935
正しい翻訳と意図を教えてください。
正しい翻訳と意図を教えてください。
937デフォルトの名無しさん
2021/09/18(土) 11:02:29.85ID:R9rxcswy >>935
正しい翻訳と意図を教えてください。
正しい翻訳と意図を教えてください。
938デフォルトの名無しさん
2021/09/18(土) 13:27:50.51ID:+rKdBgY8 Microsoft Silverlightがオープンソース化、「OpenSilver」ベータ版リリース
https://news.mynavi.jp/article/20210916-1974193/
https://news.mynavi.jp/article/20210916-1974193/
939デフォルトの名無しさん
2021/09/18(土) 14:29:04.75ID:4CYZLhbb940デフォルトの名無しさん
2021/09/18(土) 14:42:52.80ID:hjEU6C9z Silverlightは救済策だろう
メインストリームはWinUI
メインストリームはWinUI
941デフォルトの名無しさん
2021/09/18(土) 14:59:53.94ID:owvkbREO ActiveXじゃなくてWASMベースになったってのが興味深いな。
デスクトップ版も用意したうえでBlazorと組み合わせてほしい。
デスクトップ版も用意したうえでBlazorと組み合わせてほしい。
942デフォルトの名無しさん
2021/09/18(土) 15:32:32.42ID:kMbDjnXI ソースジェネレーターでバインディング周り上手い事オーバーヘッド無しに出来んかな
943デフォルトの名無しさん
2021/09/18(土) 15:59:37.03ID:+rKdBgY8944デフォルトの名無しさん
2021/09/18(土) 16:06:02.78ID:5s23uQXu MSとどういう関係があるのか読んでも分からん
945デフォルトの名無しさん
2021/09/18(土) 16:46:49.61ID:IMNNusNt >>944
タイトルが悪いと思う
オリジナルのSilverlightをMSが作ったってだけで、MSはほぼ無関係だな
UserwareがWebAssemblyで動作するようにSilverlightを実装しなおしたものをオープンソースでリリースしただけ
タイトルが悪いと思う
オリジナルのSilverlightをMSが作ったってだけで、MSはほぼ無関係だな
UserwareがWebAssemblyで動作するようにSilverlightを実装しなおしたものをオープンソースでリリースしただけ
946デフォルトの名無しさん
2021/09/18(土) 16:50:07.13ID:IMNNusNt Userwareって会社ね
既存のSilverlightアプリをSilverlightからOpenSilverに移行するソリューションを売るみたい
既存のSilverlightアプリをSilverlightからOpenSilverに移行するソリューションを売るみたい
947デフォルトの名無しさん
2021/09/18(土) 18:33:51.64ID:QLsNBOiE お
オープンソースSilverlightか
光ちゃんも引っ張ってこい
オープンソースSilverlightか
光ちゃんも引っ張ってこい
948デフォルトの名無しさん
2021/09/18(土) 19:08:58.03ID:+Oz1AToR >>945
タイトルが悪いと言うかわざとだろ、これ
UserwareがMicrosoftからソース譲渡してもらったならわかるけど "reimplementation of Silverlight" だから要するに互換ソフトをオープンソースで作ったって話でしかない
タイトルが悪いと言うかわざとだろ、これ
UserwareがMicrosoftからソース譲渡してもらったならわかるけど "reimplementation of Silverlight" だから要するに互換ソフトをオープンソースで作ったって話でしかない
949デフォルトの名無しさん
2021/09/19(日) 04:13:06.67ID:/b0JgwvO あれ?
さっき思ったんだけど、
C#でしかできないことってあるよね?
ループで回して同じものを複数表示するとか
逆にXAMLでしかできないことってあったっけ?
無い気がする・・・
そんでMVVMもXAMLなしで出来るんでしょ?
そしたらXAML要らんじゃん・・・
さっき思ったんだけど、
C#でしかできないことってあるよね?
ループで回して同じものを複数表示するとか
逆にXAMLでしかできないことってあったっけ?
無い気がする・・・
そんでMVVMもXAMLなしで出来るんでしょ?
そしたらXAML要らんじゃん・・・
950デフォルトの名無しさん
2021/09/19(日) 04:34:10.41ID:rCAdh0cW 世の中のDSL全部C言語で書けよ的な話か?
951デフォルトの名無しさん
2021/09/19(日) 06:24:30.46ID:9XIs1/Nq >>949
画面をXAMLで書けるのがWPFの一番のメリットなんだが
画面をXAMLで書けるのがWPFの一番のメリットなんだが
952デフォルトの名無しさん
2021/09/19(日) 10:50:54.04ID:zoNPTzv8 XAMLは筋の悪い技術だよ
ループ等を無理矢理バインディングで実装しなきゃいけないために複雑怪奇になってる
普通に文字列のテンプレートエンジンか、Reactみたいにコードでよかった
MVUでは結局コードになったね
ループ等を無理矢理バインディングで実装しなきゃいけないために複雑怪奇になってる
普通に文字列のテンプレートエンジンか、Reactみたいにコードでよかった
MVUでは結局コードになったね
953デフォルトの名無しさん
2021/09/19(日) 12:01:27.73ID:YE49AlZO XAML Styler必須だよな、なぜVisual Studioに標準搭載しないのか
954デフォルトの名無しさん
2021/09/19(日) 13:28:03.13ID:bqLn7Zqv ループって何言ってるか分からんがリストのことならコレクションバインディングするだけでしょ
違うならすまん
違うならすまん
955デフォルトの名無しさん
2021/09/19(日) 13:52:08.27ID:dh1bYHy4 ObservableCollectionとListViewをバインドするだけとちゃうの?
956デフォルトの名無しさん
2021/09/19(日) 14:12:08.70ID:/b0JgwvO >>951
画面をXAMLで書けることの何がメリットなの?
画面をXAMLで書けることの何がメリットなの?
957デフォルトの名無しさん
2021/09/19(日) 14:13:52.23ID:/b0JgwvO958デフォルトの名無しさん
2021/09/19(日) 14:17:30.11ID:/b0JgwvO959デフォルトの名無しさん
2021/09/19(日) 14:25:03.65ID:bqLn7Zqv 別にMVVMは強要されてる分けじゃない
使いたくなければ使わなくていいよ
使いたくなければ使わなくていいよ
960デフォルトの名無しさん
2021/09/19(日) 14:26:01.77ID:bqLn7Zqv MVVMじゃなくてxamlか
xaml無しでUI書くこともできるだろう、好きにすればいい
xaml無しでUI書くこともできるだろう、好きにすればいい
961デフォルトの名無しさん
2021/09/19(日) 14:27:02.36ID:k8GedCcQ メリットは宣言的なところ
jsさえあればDOMでdocumentを構築できるがやる奴なんかいないのと同じ
jsさえあればDOMでdocumentを構築できるがやる奴なんかいないのと同じ
962デフォルトの名無しさん
2021/09/19(日) 14:39:50.67ID:/b0JgwvO963デフォルトの名無しさん
2021/09/19(日) 14:41:23.81ID:/b0JgwvO >>961
コードでうまいこと宣言的にできないもんかね?
コードでうまいこと宣言的にできないもんかね?
964デフォルトの名無しさん
2021/09/19(日) 14:52:46.50ID:k8GedCcQ965デフォルトの名無しさん
2021/09/19(日) 15:54:38.30ID:V+8kg11o ReactのあれはReactだけのやり方だから好きじゃないな
966デフォルトの名無しさん
2021/09/19(日) 16:47:23.99ID:bqLn7Zqv967デフォルトの名無しさん
2021/09/19(日) 16:59:45.77ID:M6A2mfW9 >>956
・画面イメージそのままに階層構造で表現できるからXAMLを見ただけで画面イメージを把握できる。つまり画面デザイナが無くても困らないからVSCodeでも開発できる。
・diffで差分を確認しやすい。
・スニペット登録しておけばEmmetみたいに爆速で画面作成できる。
・画面イメージそのままに階層構造で表現できるからXAMLを見ただけで画面イメージを把握できる。つまり画面デザイナが無くても困らないからVSCodeでも開発できる。
・diffで差分を確認しやすい。
・スニペット登録しておけばEmmetみたいに爆速で画面作成できる。
968デフォルトの名無しさん
2021/09/19(日) 17:48:29.61ID:k97hf5Wx XAML直接弄ることはあったけどデザイナーで結果見ながらだ
さすがプロだ。ちがうなあ…。
さすがプロだ。ちがうなあ…。
969デフォルトの名無しさん
2021/09/19(日) 17:56:27.98ID:nIKY40XN xamlでやってることはすべてコードビハインドできる
xamlで書けるものはそうした方が楽で速いってだけ
xamlで書けるものはそうした方が楽で速いってだけ
970デフォルトの名無しさん
2021/09/19(日) 18:23:45.11ID:dWPcIkOu >>954
例えば要素の特定のプロパティの値に応じてスタイルを変えたいとき、HTMLのテンプレートなら値に応じてifでCSSのクラスを切り替えるだけだよね
XAMLだとどうする?いちいちConverter作る?
例えば要素の特定のプロパティの値に応じてスタイルを変えたいとき、HTMLのテンプレートなら値に応じてifでCSSのクラスを切り替えるだけだよね
XAMLだとどうする?いちいちConverter作る?
971デフォルトの名無しさん
2021/09/19(日) 18:38:16.20ID:z/QIU9f5 いちいちというかConverterはふつうに作ってるな。ある程度作ったらあとは使いまわせるし。
972デフォルトの名無しさん
2021/09/19(日) 19:16:13.86ID:cbIcUE3M お前がXAMLをどう思うかなんてのはどうでもいいことだ
アニオタが自分はこのアニメが好きでこのアニメが嫌いって言ってるのと変わらん
アニオタが自分はこのアニメが好きでこのアニメが嫌いって言ってるのと変わらん
973デフォルトの名無しさん
2021/09/19(日) 19:19:44.56ID:iNtXNZB3 >>970
DataTriggerを設定する
DataTriggerを設定する
974デフォルトの名無しさん
2021/09/19(日) 19:25:44.86ID:E5LuOPCO975デフォルトの名無しさん
2021/09/19(日) 19:38:38.45ID:/b0JgwvO976デフォルトの名無しさん
2021/09/19(日) 19:40:34.61ID:lTTF8pbf たぶん、動作速度の事いってないと思う
楽でっていってるから、開発速度とかじゃね
楽でっていってるから、開発速度とかじゃね
977デフォルトの名無しさん
2021/09/19(日) 20:29:08.95ID:cF49PKlA978デフォルトの名無しさん
2021/09/19(日) 20:29:10.32ID:cF49PKlA979デフォルトの名無しさん
2021/09/19(日) 22:15:48.20ID:V+8kg11o 動作速度にこだわるなら言語選び間違ってるよね
980デフォルトの名無しさん
2021/09/19(日) 23:23:28.51ID:bqLn7Zqv981デフォルトの名無しさん
2021/09/20(月) 00:49:08.80ID:Xe9wEhiD >>980
Webのテンプレートエンジンを使ったことあるなら、そんな疑問が出てくる方が不思議なんだが
Webのテンプレートエンジンを使ったことあるなら、そんな疑問が出てくる方が不思議なんだが
982デフォルトの名無しさん
2021/09/20(月) 00:50:49.73ID:Urg8oj7a >>977
そうかぁ、複数リストボックスはやっぱりコードビハインドが無いと無理そうなのか
フォーカスの移動がネックね
XAMLの限界って奴かな
こういうのがあるなら最初っから腹くくってコードビハインドで書いた方がいい気がしてきた
だって、XAMLで書いててどうやるんだろう?と悩んだ挙句、
結局コードビハインドしか解決法が無い、ということにもなりかねんからね
訂正:
差分はイメージできる前提でメリットにはなり得る
↓
XAMLを見て画面がイメージできる人なら、diffで差分を確認しやすいのはメリットになり得る
まぁ、階層が増えたとか移動したとかは分かりやすいだろうな
そうかぁ、複数リストボックスはやっぱりコードビハインドが無いと無理そうなのか
フォーカスの移動がネックね
XAMLの限界って奴かな
こういうのがあるなら最初っから腹くくってコードビハインドで書いた方がいい気がしてきた
だって、XAMLで書いててどうやるんだろう?と悩んだ挙句、
結局コードビハインドしか解決法が無い、ということにもなりかねんからね
訂正:
差分はイメージできる前提でメリットにはなり得る
↓
XAMLを見て画面がイメージできる人なら、diffで差分を確認しやすいのはメリットになり得る
まぁ、階層が増えたとか移動したとかは分かりやすいだろうな
983デフォルトの名無しさん
2021/09/20(月) 00:55:56.18ID:rs8t3f0k984デフォルトの名無しさん
2021/09/20(月) 01:02:15.33ID:1ct4tbKZ xamlはbamlにコンパイルされ理論上はC#コードより速くなるよ
少なくともMSのWPFチームはそう主張して
生C#にコンパイルするcamlを廃止したわけだし
なお実際に測定すると...
少なくともMSのWPFチームはそう主張して
生C#にコンパイルするcamlを廃止したわけだし
なお実際に測定すると...
985デフォルトの名無しさん
2021/09/20(月) 01:17:24.74ID:GKDt5rSn986デフォルトの名無しさん
2021/09/20(月) 01:19:47.53ID:GKDt5rSn とにかく俺のプロジェクトじゃ
WPFのパフォーマンスの悪さがやり玉に上げられて
それは大変だった...
WPFのパフォーマンスの悪さがやり玉に上げられて
それは大変だった...
987デフォルトの名無しさん
2021/09/20(月) 01:25:48.63ID:nLJN3AnD 双方向バインディングをやめてOneWay等も使えって書いてあった気がする
988デフォルトの名無しさん
2021/09/20(月) 01:35:10.41ID:rs8t3f0k WPFのBindingは全部レイトだから遅いのは宿命だわな
UWPからx:Bindを逆輸入すればいいのにと思っていたけどもうWinUIに逝っちゃったからなあ
UWPからx:Bindを逆輸入すればいいのにと思っていたけどもうWinUIに逝っちゃったからなあ
989デフォルトの名無しさん
2021/09/20(月) 01:44:05.05ID:GKDt5rSn とにかく、
バインデイングとかテンプレートのセレクターの動作をみれば、
遅くなるのは当たり前なんだよなーー
バインデイングとかテンプレートのセレクターの動作をみれば、
遅くなるのは当たり前なんだよなーー
990デフォルトの名無しさん
2021/09/20(月) 01:45:44.54ID:GKDt5rSn >>988
そのx:Bindは早いの?
そのx:Bindは早いの?
991デフォルトの名無しさん
2021/09/20(月) 03:00:03.34ID:/wXzoW3g 最近のパソコンなら遅いとは感じないけどな。
992デフォルトの名無しさん
2021/09/20(月) 04:17:47.61ID:ikLxeDh9 WPFはバインディングよりも描画が重かったイメージだな
993デフォルトの名無しさん
2021/09/20(月) 08:09:56.39ID:1ct4tbKZ >>985
逆だね
単純なケースでは生xamlでも速いのでbamlの利点が生きてこない
VisualStudioで描画が重いと思ったことないので(軽いと思ったこともないけど)
WPFそのものにはポテンシャルは十分にあるんだろう
ただWPFみたいた終わったテクノロジーでそんなレベルの開発者集められるのはそれこそVSの開発チームくらいだろうね
逆だね
単純なケースでは生xamlでも速いのでbamlの利点が生きてこない
VisualStudioで描画が重いと思ったことないので(軽いと思ったこともないけど)
WPFそのものにはポテンシャルは十分にあるんだろう
ただWPFみたいた終わったテクノロジーでそんなレベルの開発者集められるのはそれこそVSの開発チームくらいだろうね
994デフォルトの名無しさん
2021/09/20(月) 08:47:58.20ID:tGJnTRCJ グラボとメモリが無いとヤバい
995デフォルトの名無しさん
2021/09/20(月) 09:31:37.18ID:E4xUszIH >>982
そういう複合コントロールはユーザーコントロールで作るからデータの出し入れは依存関係プロパティーを使いMVVMは使わず
処理もコードビハインドに思いっきり書く
で、出来たものをページなりウインドウに貼り付けて使用します
そういう複合コントロールはユーザーコントロールで作るからデータの出し入れは依存関係プロパティーを使いMVVMは使わず
処理もコードビハインドに思いっきり書く
で、出来たものをページなりウインドウに貼り付けて使用します
996デフォルトの名無しさん
2021/09/20(月) 12:01:41.39ID:336bYktz x:bind 速度の違いが全くわからないので使うのやめた
コンパイル時の型エラーがうざいし
bindingに戻った
速度に関してはそりゃ開発環境入れてるメインマシンで動かせばそりゃ問題ないけどさ、ローエンドのCPU積んでるマシンで動かしたらどうなんだろう
今時のローエンドでもbaytrailのatomからは随分速くなったろうから問題ないと思うけど??
コンパイル時の型エラーがうざいし
bindingに戻った
速度に関してはそりゃ開発環境入れてるメインマシンで動かせばそりゃ問題ないけどさ、ローエンドのCPU積んでるマシンで動かしたらどうなんだろう
今時のローエンドでもbaytrailのatomからは随分速くなったろうから問題ないと思うけど??
997デフォルトの名無しさん
2021/09/20(月) 12:11:27.54ID:GKDt5rSn >>993
WPFは遅くて同時は叩かれましたよ
そのあと改良されて大部分巻き返しましたが
同時かなり高度な描画デバックキットがリリースらされましたので
それを駆使して対処してましたが
XAMLとバインデイングから
どのようなコードが生成されてるのか
予測が付かなくて
地獄見ましたよ
WPFは遅くて同時は叩かれましたよ
そのあと改良されて大部分巻き返しましたが
同時かなり高度な描画デバックキットがリリースらされましたので
それを駆使して対処してましたが
XAMLとバインデイングから
どのようなコードが生成されてるのか
予測が付かなくて
地獄見ましたよ
998デフォルトの名無しさん
2021/09/20(月) 12:12:02.12ID:336bYktz つかさ、winuiもいいんだけださ
そもそもwindowsを開発とかのマウス入力前提の環境でしかつかってないんだよ
だから、winuiのfluent designがタッチ入力よりすぎで微妙すぎる
そもそもwindowsを開発とかのマウス入力前提の環境でしかつかってないんだよ
だから、winuiのfluent designがタッチ入力よりすぎで微妙すぎる
999デフォルトの名無しさん
2021/09/20(月) 12:16:06.20ID:si8x6YH61000デフォルトの名無しさん
2021/09/20(月) 12:21:05.16ID:336bYktz まじで?
俺はUWPのbindingとx:bindしか比較してないけど
x:phaseとかも使ってみたけど
体感で全く違いがわからなかったわw
もちろん厳密な比較はしてないけど
俺はUWPのbindingとx:bindしか比較してないけど
x:phaseとかも使ってみたけど
体感で全く違いがわからなかったわw
もちろん厳密な比較はしてないけど
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 91日 19時間 16分 47秒
新しいスレッドを立ててください。
life time: 91日 19時間 16分 47秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- 車のボンネットに乗せて走行し振り落とした殺人未遂容疑で逮捕 中国籍のタクシー運転手を不起訴処分 [七波羅探題★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★3 [少考さん★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
- 🏡
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
