WPF(.NET, WinUI) GUIプログラミング Part33 (815レス)
上下前次1-新
69(1): (ワッチョイ b74b-PM5+) 2024/09/20(金)12:34 ID:ndhTQ8wv0(1) AAS
まあ知恵袋ではAIのやってるのは平均や統計という結論になってるからそう思う土方が増えても仕方がない
70: (アウアウエー Sadf-N1Zj) 2024/09/20(金)14:23 ID:ZOd0SPdka(1) AAS
>>64
ほんそれ
AIは小泉セクシーと同じタイプ
71: (ワッチョイ 9f62-my9x) 2024/09/20(金)14:36 ID:YU6r3x2E0(1) AAS
外注の粒度が劇的に縮小して作業者レベルに降りてきたってだけ
明快な指示を出せない人は適切にアウトソースできず(自分より割安なリソースを活かしきれず)、やがて淘汰される
72(1): (ラクッペペ MM8f-Nsn7) 2024/09/20(金)14:50 ID:mXutxWmLM(1) AAS
プログラミングの文法は理解しているから俺より役に立つのは確かだ
73: (ワッチョイ 9705-2r+Y) 2024/09/20(金)15:10 ID:DKDJjDvH0(1) AAS
今のLLMは流行り始めた頃に比べてコンテキストウインドウが大幅に拡大しているから、
指示の出し方よりもコンテキストとして適切な背景知識を十分に与えてあげることが重要になってる
既に人間より頭良いから、むしろ必要十分なコンテキストがあれば指示は雑で曖昧なものでもよくて、適切に意図を汲んで見事に仕事してくれる
もうすぐコンテキストの考慮も不要になって人間不要になるんだろうな
74: (ササクッテロ Spcb-R/GH) 2024/09/20(金)15:31 ID:0HZwQuWgp(1) AAS
>>69
意味を関連で辿るタイプのAIはまだPCクラスじゃ無理だからなぁ
75: (ワッチョイ d75f-my9x) 2024/09/20(金)16:49 ID:zn8YKPbl0(1) AAS
それが指示でないと言うのならもはや何も言うまい...
76: (ワッチョイ 7790-Egod) 2024/09/20(金)17:38 ID:9wyXalnP0(1) AAS
「10年後に路頭」
10年も余裕あるなら焦る必要ないだろ
77: (ワッチョイ 9fef-3vlU) 2024/09/21(土)00:52 ID:fUGmrLHC0(1) AAS
>>72
平気でバグ仕込んでくるぞ
油断できない
78(1): (ワッチョイ 5701-R/GH) 2024/09/21(土)06:36 ID:3hLNPalC0(1) AAS
バグありのコード書くのは人間に外注したって同じだろ
個人的に1番AIが便利に使えてるのは、既に完成しているコードのライブラリを差し替えたりライブラリ不使用に書き換えたりする、ゴールが明確で固定されてるが、それまでの道筋を変える、とにかく面倒な作業の肩代わり。これが1番得意。
あとはjsonやcsvの使い捨て変換スクリプト書かせるとか。変換前のデータと欲しい最終出力のサンプル突っ込むだけで何とかしてくれる
79: (アウアウエー Sadf-3vlU) 2024/09/21(土)06:53 ID:C8ZSf1Mwa(1) AAS
>>78
>既に完成しているコードのライブラリを差し替えたり
>ライブラリ不使用に書き換えたりする、
>ゴールが明確で固定されてるが、それまでの道筋を変える
GPLロンダリングですね判りますω
80: (ワッチョイ d792-i9xh) 2024/09/21(土)17:34 ID:JoR4InEa0(1) AAS
WPFどころかC#すらわかってないJavaScript初心者さんでもコパイロットがあれば
あっという間にハローワールドまでできるようになるじゃないか
依存関係プロパティもビヘイビアもあっさり解決さ
81: (オイコラミネオ MM73-sUBN) 2024/09/22(日)09:32 ID:B3mW+YFfM(1/2) AAS
ビヘイビアは使わなくなった
82: (ワッチョイ 1e6d-DO7g) 2024/09/22(日)10:52 ID:kPNeBJFx0(1) AAS
言語としての最先端だよなあC#は
なんでエンジニアたちは他のゴミ言語なんか使ってんだろ
83: (ワッチョイ 72a4-7hLx) 2024/09/22(日)12:15 ID:ta0kecSE0(1/2) AAS
あくまでJava系(クラスベースOOP+静的型+C系文法)の中での完成系だからね。
まあJava系としてKotlinとどちらが上かは意見の分かれるところではあるが。
C#はどれだけ魔改造しようと今更TypeScriptのようなstructual subtypingベースの言語にはなれないし、
Rustのような厳格なメモリ管理をする言語にもなれないし、
Haskellのような純粋関数型言語になるのも不可能だ。
それらとJava系のどちらがパラダイムとして優れているかは分野や用途次第であり、銀の弾丸はない。
84: (ワッチョイ 1f37-L8o3) 2024/09/22(日)12:41 ID:S8Wcp08P0(1/5) AAS
長年C#でJava勢と張り合って孤軍奮闘してけたけど
そのJavaも衰えて自分もTypescriptでUI書くようになって永くなり
今じゃTypescriptが凄すぎでC#でUI書きたいとはとても思えんようになったからね
85(1): (ワッチョイ 63f5-VZV9) 2024/09/22(日)12:48 ID:PvCJsxAv0(1) AAS
C#をこれから学ぼうと思ってるんだけど、C#の強みってどういうところ?
自分はJavaもC#も経験がない (C++, Python は分かる) からまだ分かってない
C++, Pythonでもクラスは使うけど、C#やJavaの方がよりOOPな言語だと聞く
どういう所に違いがあるのか、それがいまいち分かってなくて
86: (オイコラミネオ MM73-sUBN) 2024/09/22(日)13:15 ID:B3mW+YFfM(2/2) AAS
スレチだけど回答
言語自体の強みは薄い
最近の言語に慣れた人にはやぼったいと感じるだろう
タイピング量は多いし一画面に表示するロジックも少ない
強みはMSがバックアップしていると言うこと
87: (ワッチョイ 9246-odNl) 2024/09/22(日)13:25 ID:ZjgViWMf0(1) AAS
>>85
無料で最強IDEが使えるのと1つ覚えるだけでなんでも作れるところ
Windowsデスクトップはもちろん、Mac, LinuxデスクトップもAvanonia使えば作れる
ゲームはUnity、Webは.NET Core、Blazor
モバイルも一応作れる
88: (ワッチョイ 1f37-L8o3) 2024/09/22(日)14:45 ID:S8Wcp08P0(2/5) AAS
VScodeの事?
89: (ワッチョイ 6250-lUwY) 2024/09/22(日)14:50 ID:CS0yZoqU0(1) AAS
Visual Studioだろ
90: (ワッチョイ 1f37-L8o3) 2024/09/22(日)15:05 ID:S8Wcp08P0(3/5) AAS
個人の場合はね
仕事でだとまず有料になるな
91: (ワッチョイ 72a4-7hLx) 2024/09/22(日)15:36 ID:ta0kecSE0(2/2) AAS
C#の一番の強みは、OS、フレームワーク、IDE、DB、等々全てMSが用意したものを使えばよくて、
雑多な周辺技術に惑わされて時間を無駄にしなくて済むこと
…だったんだけど、最近ではもはやC#の役割としてMSが本気で投資してるのってAzure上でのWeb開発だけになっちゃって、
もはや以前の万能言語の姿は見る影もない状況なんだよね
せっかく幅広いプラットフォームで使えるようになったのに、結局特定のプラットフォームに縛られた言語を脱せずに斜陽期を迎えてしまった
92: (ワッチョイ 2701-62zA) 2024/09/22(日)16:46 ID:PYPfkdWx0(1) AAS
いるよね、こういう極論言い出すやつ
93: (ワッチョイ d685-LAfk) 2024/09/22(日)18:07 ID:gYNuxiJB0(1) AAS
C#の用途はWindowsアプリとUnityだよ
他にもできることはたくさんあるけど他の言語に負けないのはこの2つ
94: 警備員[Lv.4][芽] (ワッチョイ 2701-7TYI) [sage釣] 2024/09/22(日)18:39 ID:BOSasojX0(1/2) AAS
Javaの糞性はメンテナンス工程で発覚する物が多いからなぁ
95: (ワッチョイ 1f37-L8o3) 2024/09/22(日)18:51 ID:S8Wcp08P0(4/5) AAS
いつからC#は万能言語になったんだ?
少なくと複雑なUI実装にはまったく向かない
96: 警備員[Lv.5][芽] (ワッチョイ 2701-7TYI) [sage釣] 2024/09/22(日)19:36 ID:BOSasojX0(2/2) AAS
複雑なUIってのがCADとかDAWを超えているならWinAPIから作れや(^^)v
97: (ワッチョイ 1f57-DO7g) 2024/09/22(日)19:59 ID:cBjFnGUy0(1) AAS
複雑なUIもC#は他を圧倒してるよ
UnityよりすごいUI作成ツールって他にないだろ
98: (ワッチョイ 1fed-L8o3) 2024/09/22(日)21:57 ID:S8Wcp08P0(5/5) AAS
HTML
99: 警備員[Lv.6][芽] (ワッチョイ 2701-7TYI) [sage釣] 2024/09/23(月)01:02 ID:qQQw0l+l0(1) AAS
paint.netがwin32APIを直呼びしている時点でお察し
100: (ワッチョイ 6250-lUwY) 2024/09/23(月)01:50 ID:l6I+Mk/q0(1/2) AAS
paint.netはGPUアクセラレーション使うから仕方がないでは
最新のVer.5.0ではレガシーなC++/CLIのコードをC#に置き換えてるそうだけど
101: (オイコラミネオ MM73-sUBN) 2024/09/23(月)11:22 ID:EQovMdIGM(1) AAS
非常に何とも言い難いね
自分もC# C++ハイブリッドでやってるけど非常にめんどくさい
でも速度的にメリットがあるので続けるしかない
一般的なコードで等価なコードが等価なバイナリになればいいけど無理だな
102: (ワッチョイ 620b-lUwY) 2024/09/23(月)12:37 ID:l6I+Mk/q0(2/2) AAS
安全寄りの設計思想のC#が無防備なC++に近づくのは限界があるわな
とは言え、最近の.NETは高速化に力入れてて.NET Frameworkと比べると結構速くなった
103: (ワッチョイ ef0c-/y0s) 2024/09/23(月)16:00 ID:m8hlisxc0(1/2) AAS
C#もSpan<T>とかSIMD叩けるようになったりして久しいし.Netのバージョンを指定できる環境ならそれなりに高速動作するのでは?
104: (ワッチョイ c232-7cnK) 2024/09/23(月)16:40 ID:9pAijtDI0(1) AAS
WinUI3がAOT実装したのに話題にならないね
ちょっとした高速化以上に今まで悩まされた難読化が標準になったのにさ
105: (ワッチョイ d63c-co9J) 2024/09/23(月)21:25 ID:CEJbx0xL0(1) AAS
進撃の巨人はオワコン
106(1): (ワッチョイ a751-4sAz) 2024/09/23(月)23:44 ID:7O7coEBZ0(1) AAS
winUI3のdatagridでitemsourceに指定してあるObservableCollectionを変更しても画面が更新されない…
セルを更新したときに下のセルが空欄なら同値で埋めたいんだけどObservableCollectionの値は更新されてても画面が変わらないのはどうすればいいんですか?
107: (ワッチョイ ef0c-/y0s) 2024/09/23(月)23:52 ID:m8hlisxc0(2/2) AAS
>>106
ObservableCollection<T>のTにもINotifyPropertyChangedの実装が必要
108: (ササクッテロ Sp47-i443) 2024/09/24(火)09:51 ID:/2yiAcKTp(1) AAS
複雑なUIを妙なスクリプトで対処するなよ
改修大変なんだわ
109: (ワッチョイ 2701-lUwY) 2024/09/25(水)07:29 ID:i/kzvIdf0(1/2) AAS
WPFはCG以外の各種コントロールもDirect3Dで描いてんの?
110: (ワッチョイ 62b7-7hLx) 2024/09/25(水)07:37 ID:Jf+yMjnA0(1) AAS
CGの定義はともかく、今のWindowsはWPFとは無関係にほとんど全てをDirect3Dで描画している
WPFは更にその上で無駄な抽象化レイヤを幾重にも重ねてDirect3DやCPUで描画しているので極めて非効率
111(1): (ワッチョイ a778-KU+G) 2024/09/25(水)09:21 ID:p6KYxCK00(1) AAS
WPFはDirect3D9のラッパー
そしてこれがWPFがWindows以外の.NETで提供されない理由
112: (ワッチョイ 1ffb-L8o3) 2024/09/25(水)09:49 ID:UXiRrgGj0(1/2) AAS
むかしsilverLightがあったじゃん
あれはどーーなの?
113: (ササクッテロ Sp47-i443) 2024/09/25(水)10:18 ID:GD37s86yp(1) AAS
xamlはスクリプト言語で、C#に変換さるるんじゃなかったっけ?
114: (ワッチョイ a711-7hLx) 2024/09/25(水)12:26 ID:alLhlB9H0(1) AAS
されない。等価なバイナリデータに変換された上で、C++で書かれたランタイムがそれをレンダリングする。
ただしXAMLの最古のレガシー実装であるWPFについてはXAML処理系はC++ではなくC#で実装されており、パフォーマンス上のボトルネックとなっていた。
115: sage (アウアウエー Saaa-rNKn) 2024/09/25(水)15:11 ID:8lhO0QOxa(1) AAS
silverLightは息してない
即死
116: (ワッチョイ 6366-Zm2Y) 2024/09/25(水)19:01 ID:5Vhwl/nZ0(1) AAS
PRキャラの光ちゃんを助けて
117: (ワッチョイ 1f64-L8o3) 2024/09/25(水)19:02 ID:UXiRrgGj0(2/2) AAS
>>111
silverLightは >>111 に対する話し
118: (ワッチョイ 2701-lUwY) 2024/09/25(水)20:44 ID:i/kzvIdf0(2/2) AAS
>CGの定義はともかく、今のWindowsはWPFとは無関係にほとんど全てをDirect3Dで描画している
WinFormsも?
テキストボックスもDirect3Dなんだ。なんか面白いな。
119: (ワッチョイ 6320-VZV9) 2024/09/25(水)22:17 ID:Xu8aizIi0(1) AAS
逆にWindowsでパフォーマンスの良いGUIフレームワークとなると何が候補になるの?
120: (ワッチョイ 1e28-DO7g) 2024/09/25(水)22:57 ID:EcYO77Ak0(1) AAS
React
121: (ワッチョイ a7b0-7hLx) 2024/09/26(木)08:04 ID:dpiVYcoi0(1/2) AAS
WebView2やElectronでReactを使うのが最良だろうね。メモリ消費量は多めだが複雑なGUIを極めて高速に描画できる。
WinUI系は迷走しまくってるからお勧めできない。
122: (ワッチョイ 77f4-xlq3) 2024/09/26(木)08:46 ID:5j0XXcTR0(1) AAS
Reactが高速w
123(1): (ササクッテロ Sp47-i443) 2024/09/26(木)10:21 ID:5M+OW9vAp(1) AAS
webベースは却下
124: sage (アウアウエー Saaa-rNKn) 2024/09/26(木)10:44 ID:R5lWYvWFa(1) AAS
Tcl/Tk
125: (ワッチョイ 9232-sUBN) 2024/09/26(木)10:58 ID:2ZTCXRzi0(1) AAS
>>123
なぜ?
126: (ラクッペペ MMde-co9J) 2024/09/26(木)12:03 ID:vw75CWGjM(1) AAS
10年後に動くとは思えない
127: (ワッチョイ 1f66-L8o3) 2024/09/26(木)14:30 ID:O7j1NTfr0(1) AAS
WPFはね
128: (ワッチョイ ef81-/y0s) 2024/09/26(木)17:10 ID:5GwSM86j0(1/2) AAS
VB6.0もWinformsもWPFも公式にしろ非公式にしろ10年後も動いてると思うたぶん
ソースがあればビルドもできると思うたぶん
でもElectron上のアプリが10年後も動いてるかと言ったら…
そもそも10年後にビルド環境を用意できるかどうかとなると極めて怪しい
129(2): (ワッチョイ a70c-7hLx) 2024/09/26(木)19:41 ID:dpiVYcoi0(2/2) AAS
そりゃ思い込みだな
ReactとElectronのリリースは11年前、最も成功したElectronアプリであるVSCodeもなんと9年前だ
SPA系のモダンWebも実は既に十分に枯れた技術なんだよ
130: (ワッチョイ 2701-lUwY) 2024/09/26(木)20:32 ID:7pm6jv2b0(1/2) AAS
WPFでSkia使えばめちゃくちゃ早いが。
131: (ワッチョイ ef81-/y0s) 2024/09/26(木)21:39 ID:5GwSM86j0(2/2) AAS
>>129
いや言ってる意味がわからないならいい
132: (ワッチョイ 638b-xlq3) 2024/09/26(木)21:49 ID:eQdJKLVp0(1) AAS
>>129
11年前のコードがそのまま動くとでも?
133: (ワッチョイ 2701-lUwY) 2024/09/26(木)22:47 ID:7pm6jv2b0(2/2) AAS
たまにVC++6.0使っとるが。
134(1): (ワッチョイ de79-sesJ) 2024/09/27(金)07:49 ID:UPJ9A3G20(1/2) AAS
VB6.0のように動かすだけならできるだろ
何が極めて怪しいんだ
135: (ワッチョイ 7792-4vSm) 2024/09/27(金)07:55 ID:/K2li3dr0(1) AAS
あと10年経つと文字小さすぎて読めないとかボタン小さすぎて押せないとか言われてると思われる
ViewBoxなんてカレンダーコントロールにしか使ってなかったが、対処療法には使える
136: (ワッチョイ de79-sesJ) 2024/09/27(金)08:05 ID:UPJ9A3G20(2/2) AAS
VB6.0が動くの正確な意味って解像度とか作成時の状態を踏襲した上でって意味だろうに
なんでそれと同じ条件で語らないんだか
137(1): (ワッチョイ 1fb7-AkOi) 2024/09/27(金)11:39 ID:4PrSawPF0(1) AAS
>>134
普通に無理やろ
VB6はruntimeが脆弱性対応で更新されてもそのまま動くし既存のOSが生きてる限りサポートされることが約束されてる
Reactのホスト環境はそうはいかない
ホスト環境やReact自身の更新に追随して変更していかないと使えない
環境を凍結して動かすだけならハードに問題ない限り動かせるけどそういう話じゃないだろ?
138: (ワッチョイ c6d2-4sAz) 2024/09/27(金)13:01 ID:2H6QqaiG0(1) AAS
もういいよ react の話は
139(1): (ワッチョイ 1f24-L8o3) 2024/09/27(金)13:22 ID:kLvVhYwY0(1) AAS
>>137
Reactのホストって何よ
基本クライアント側だけで動く機能だぞ
140: (ワッチョイ eb9a-i443) 2024/09/27(金)13:31 ID:H3snXt7I0(1) AAS
>>139
JavaScriptがホスト環境無しには動かない言語なのは知ってる?
141: (ワッチョイ ff77-9JCP) 2024/10/01(火)19:10 ID:dt9mkk9o0(1/2) AAS
ElectronはChromiumを丸ごとバンドルするんだから全部塩漬けにするなら10年後でも普通に動くだろう
セキュリティパッチ云々はまあ.NET Framework の方ならわかるが、
5以降ならクライアントアプリは全部バンドル塩漬け前提になってしまってて、
後生大事にセキュリティ更新だけ当て続けるような運用はもはや不可能なんで、
状況は大して変わらんよ
142(1): (ワッチョイ 6f79-uMZa) 2024/10/01(火)20:26 ID:J7GPtKrz0(1) AAS
JavaScript界隈は数十年前のDelphiのEXEやランタイム糞でか問題を現在進行形でまだやってるんだよな
ブラウザ側に金玉握られてたらエンジンごと抱え込むしかないよなあ
ほんと頭悪いわ
143: (ワッチョイ b3e6-xL0Q) 2024/10/01(火)20:27 ID:zBjh5U/o0(1) AAS
htaが神過ぎたな
144: (ワッチョイ ff77-9JCP) 2024/10/01(火)20:56 ID:dt9mkk9o0(2/2) AAS
>>142
.NETも今はCLRから何から全部抱え込むのが基本よ
145: (ワッチョイ 6f10-8K0N) 2024/10/05(土)19:46 ID:QCQZKClw0(1) AAS
AvalonEditが高速で気に入った
1メガ位のテキストをTextBoxに放り込んだら重くて大変だったけど快適になったわTextBox使えないわ
146: (ワッチョイ dfe2-mIju) 2024/10/08(火)23:02 ID:pQ+vP70p0(1) AAS
今からWPFを勉強する際におすすめの参考書やWeb資料ってある?
147: (オイコラミネオ MM1f-1ld3) 2024/10/09(水)00:39 ID:N2h11Yh4M(1/2) AAS
ないよ
148: (オイコラミネオ MM1f-1ld3) 2024/10/09(水)00:52 ID:N2h11Yh4M(2/2) AAS
WPFはすでに終わった技術で行き止まりみたいなものでMSもそこを広げていこうとはしてない
新たに入ってこようとする人間もあまりいないので書籍がない
説明資料もない
素の状態では使いづらいのでライブラリを使うけどそのせいで人がばらけてる
それもずっと研究段階で絶対こうしたほうがいいと言う統一した使い方がない
過去のweb資料も時代遅れになっている
149: (ワッチョイ dfe2-k+rt) 2024/10/09(水)07:33 ID:+lBoFbSl0(1) AAS
他の言語したことあるならネットの情報だけで学べるやろ
150: (JP 0H4f-6k2q) 2024/10/09(水)08:28 ID:ODDYjXGdH(1/2) AAS
WPFと言ってもWinFormsとかわらんし。
XAMLはテキトーにサンプル作ればその内わかる。
(最初はポトペタでもいいと思ってる)
データバインドはWinFormsにはないけどバインドする必要もないし。
外部リンク:qiita.com
qiitaにはそれなりにある。
151: (ワッチョイ 0f02-hOPt) 2024/10/09(水)08:32 ID:I+S9acjo0(1) AAS
MVVMパターンやデータバインディングにこだわりすぎるとハマる
152: (ワッチョイ 8b0f-F8I7) 2024/10/09(水)09:04 ID:LZH5WMbK0(1/2) AAS
データバインディング、テンプレート等とWPFのMVVMは分けて考えるべき
初学者には絶対無理だけど
153(1): (JP 0H4f-6k2q) 2024/10/09(水)14:18 ID:ODDYjXGdH(2/2) AAS
非MVVMのWPFが自分的にはサイコー。
50-60人〜 の大規模での開発なければMVVMの恩恵はない。
154: (ラクッペペ MM86-/24N) 2024/10/09(水)14:36 ID:GBd6hExlM(1) AAS
mとvmの境界が分からない
IPropertyChangedがあればvmになるの?
Commandの中身はvmじゃなくてmに書くべき?
155: (ワッチョイ e785-jyON) 2024/10/09(水)16:00 ID:7juExw200(1) AAS
難しく考える必要はない。
VMの仕事はMの状態をビューに反映させることと、Mに対して何らかのコマンドを送出すること、それだけ。
コマンドってのは例えば梱包済み商品の発送処理を開始せよ、みたいなやつね。
発送処理開始ボタンが押されるとVM上のイベントハンドラが実行される。
なお、MVVMではこのイベントハンドラをコマンドハンドラなどと呼ぶことがあるが、上記のコマンドと紛らわしいからここではイベントハンドラと呼ぼう。
そして、イベントハンドラは関連するパラメータと共に発送処理クラス(これがMに相当)の処理実行メソッドを呼ぶ。これがコマンドの送出だ。
そしてVMはメソッドの戻り値等を介して「発送処理中」ステータスに更新された受注情報のリストを受け取り、その内容を自らのプロパティに反映する。
結果として、画面上の受注情報のステータスが更新されることになる。
泥臭い話と思うかもしれないが、君の憧れるMVVMやドメイン駆動といったアプリケーションアーキテクチャのキラキラワードの実態は本来こういうものだ。
156: (ワッチョイ 8b09-F8I7) 2024/10/09(水)16:26 ID:LZH5WMbK0(2/2) AAS
別にMVVMを全部コードで書いてもよい
これからわかることは...
157: (ワッチョイ 4e95-ilj5) 2024/10/09(水)17:57 ID:Fy3THiM40(1) AAS
WinUI3 でバリデーションエラーをTextBox に表示するのってどうやるの?
INotifyDataErrorInfo はあるし
VisualState にもそれっぽいのあるからできると思うんだけど。。
158(1): (ワッチョイ df24-mIju) 2024/10/09(水)22:40 ID:EgWGnFmO0(1) AAS
「ViewModelはViewのための橋渡しをするだけで、他のロジックはModelが持つ」と理解したんだけど、例えば以下のような感じ?
数値カウンターアプリを作る場合にCounterState みたいなモデルを用意して、「現在値」というプロパティと、インクリメント/デクリメントするためのメソッドを実装する
ViewModelはそれを画面の表示やボタン動作に紐付けるために、「現在の値」というプロパティと、ボタン押下時のコマンド (内部的にモデルのインクリメント/デクリメントメソッドを呼ぶ) を定義する
……といった具合の実装をMとVMとで行うと理解したんどけど、合ってる?
役割は違うけど、VMとMとで同じプロパティを書く冗長さがある感がする
INotifyPropertyChangedみたいなWPF特有の知識をModelに持たせない、という考えは納得できる
159: (オイコラミネオ MM1f-1ld3) 2024/10/09(水)23:50 ID:dETTV3dXM(1) AAS
こういう不毛な話を20年続けてる
160: (ワッチョイ 8b29-F8I7) 2024/10/10(木)00:48 ID:Y9XtQuCJ0(1) AAS
ましで
161: (ラクッペペ MM86-/24N) 2024/10/10(木)10:13 ID:6yZTy5dIM(1) AAS
>>153
変更イベントでTextをintに変換とかいちいちしてるの?
162: (ワッチョイ e7a9-jyON) 2024/10/10(木)11:08 ID:Ulhr2nl60(1) AAS
>>158
それで正しい
面倒ならCounterStateを完全にイミュータブルにして、そのインスタンスを直接プロパティで公開してしまえばいい
それならCounterStateがINotifyPropertyChangedを実装する必要はなくなる
その方がReactなんかのモダンWebアーキテクチャに近い今時の構造になるが、WPFの場合は更新時にモデル全体を差し替えるようなことをすると更新範囲が広くなっちゃうからパフォーマンスは犠牲になる
163: (ワッチョイ c610-6k2q) 2024/10/10(木)18:21 ID:bR/Ks12r0(1) AAS
PropertyChanged.Fodyも[ObservableProperty]も使ってないって情報古すぎる
今時手書きはないよ
164: (スッップ Sdea-jyON) 2024/10/11(金)01:00 ID:V8K6PYDOd(1/2) AAS
質問者が問題視しているのはプロパティの重複とWPF特有の要件をMに持ち込むことだから、
それらのツールは何ら本質的な解決にはならないでしょう
165(1): (ワッチョイ 4ed2-bvTI) 2024/10/11(金)07:34 ID:D2KvZw8t0(1/3) AAS
xamlってWidth={Binding Path=vm.Width×0.9f}
みたいな形でバインディングプロパティを加工出来ないのがつらいよな
Converterあるけどあれだと0.9fとか0.5fとかいろいろなサイズに対応するために複数のコンバーター作らないといけないし
166: (ワッチョイ 462e-jyON) 2024/10/11(金)09:21 ID:CgGvZ7IF0(1/2) AAS
WYSIWYGなGUIビルダーが前提の時代遅れな設計だから仕方ない
Reactなら普通に式書けるが、ああいう手書き前提のアーキテクチャではビジュアルデザイナを実装するのが困難だ
業界がまだRADの幻想に囚われていた時代の遺物よ
167(1): (ワッチョイ dbde-OzAm) 2024/10/11(金)12:38 ID:LpW4FRFf0(1/2) AAS
>>165
ConverterParameter
168(1): (ワッチョイ 9bcb-ilj5) 2024/10/11(金)15:03 ID:aU2XMHpS0(1) AAS
今からデスクトップアプリは何で開発すればよいの?結局、未だにWPF?
169: (ワッチョイ 8bec-uxRS) 2024/10/11(金)15:07 ID:oAJpwo350(1) AAS
Tauri
170: (ワッチョイ 462e-jyON) 2024/10/11(金)17:27 ID:CgGvZ7IF0(2/2) AAS
WebベースならElectron、Tauri、WebView2あたり
Webが嫌なら、もはやWin向けではMS謹製となった React Nativeだな
171: (ワッチョイ 4ed2-bvTI) 2024/10/11(金)17:54 ID:D2KvZw8t0(2/3) AAS
>>168
簡単な奴ならWinUI3でいいけど業務アプリとかガチめのやつはWPFが安定
172(1): (ワッチョイ 4ed2-bvTI) 2024/10/11(金)17:55 ID:D2KvZw8t0(3/3) AAS
>>167
ありがとう
こんな機能あったんだね
173: (ワッチョイ dbde-OzAm) 2024/10/11(金)19:42 ID:LpW4FRFf0(2/2) AAS
>>172
あとConverterにプロパティを書いておくと、x:Keyと一緒に指定できるよ
174: (ワッチョイ df93-mIju) 2024/10/11(金)22:22 ID:S/LAlpyb0(1) AAS
Web系ならGo製のWailsという選択肢もある
Tauriよりもビルドがだいぶ早い (RustはC++と同様にビルドが長くなりがち)
ただしElectron等はWeb系のフロントエンドの知識 (TypeScriptだったり、フレームワークやCSSだったり) が必要だから、C#に慣れてるならWPFになると思う
自分は試したことないけど、Avaloniaも評判は良さそうに思える
175(2): (ワッチョイ 0f02-hOPt) 2024/10/11(金)22:39 ID:e+urK+rQ0(1) AAS
Webベースで作る時に、見た目をWindows風にするスタイルシートってある?
176: (ワッチョイ 8bd1-F8I7) 2024/10/11(金)23:27 ID:TQ53xTM/0(1/2) AAS
>>175
Webならなんだって出来る
外部リンク:paradoxepoch.github.io
177(1): (ワッチョイ 8b73-1n8d) 2024/10/11(金)23:43 ID:TQ53xTM/0(2/2) AAS
>>175
こっちだったね
外部リンク:github.com
178: (スッップ Sdea-jyON) 2024/10/11(金)23:45 ID:V8K6PYDOd(2/2) AAS
それこそReact Native使えば?
UWPだからWindows風どころか正真正銘WindowsネイティブUIよ
179: (ワッチョイ 0655-Tt1K) 2024/10/11(金)23:49 ID:VNXwNI6H0(1) AAS
>>177
開発止まっとる
180(1): (ワッチョイ 8bd1-F8I7) 2024/10/12(土)00:48 ID:Om8PnXVB0(1/3) AAS
Webなら格好いUIつくれんのに
Windowsの古めかしい方に寄せるのは何故?
181: (ワッチョイ 0f02-hOPt) 2024/10/12(土)01:37 ID:pKFLyiMR0(1) AAS
>>180
客に「違和感がある」とか文句付けられないようにするため
182: (ワッチョイ de10-TIP8) 2024/10/12(土)02:33 ID:2unSxFzS0(1/2) AAS
Windowsアプリなんだから格好いい悪いじゃなくて他のWindowsアプリと揃えなきゃだめだろう
まあネイティブとWebViewだとテキストボックスの挙動すら違うんだけどな
183(1): (ワッチョイ 8bd1-F8I7) 2024/10/12(土)08:38 ID:Om8PnXVB0(2/3) AAS
windowsのアプリとかみんなバラバラじゃん、OS周り以外は
ダサくて使わないけどfluentUI
外部リンク:react.fluentui.dev
184(1): (オイコラミネオ MM1f-1ld3) 2024/10/12(土)08:42 ID:dtNF+rDsM(1/2) AAS
そろそろスマホでもアプリの時代が終わりつつある
些細なことでアプリを入れたくないと言う心情は理解出来る
スマホに100以上アプリ入れてどこに何があるのかもわからないし要らない通知ばかりされる
アプリはもうすぐ死ぬ
185: (オイコラミネオ MM1f-1ld3) 2024/10/12(土)08:44 ID:dtNF+rDsM(2/2) AAS
サービスは主要なインフラアプリに統合されて
ツールはツールで残る
186: (ワッチョイ 8bd1-F8I7) 2024/10/12(土)08:47 ID:Om8PnXVB0(3/3) AAS
Material UI: 外部リンク:mui.com
Ant Design: 外部リンク:ant.design
187: (ワッチョイ e74a-ilj5) 2024/10/12(土)09:33 ID:13mgHY9H0(1) AAS
react nativeってopenGLとかopenCV使える?
188: (ワッチョイ 4ed2-bvTI) 2024/10/12(土)11:36 ID:SicHpmLd0(1) AAS
>>183
リアクトのfluentUIダサいよな
WindowsのfluentUIはそこそこかっこいいんだが
単純にアクリルがあるかないかの違いかもだが
189: (ワッチョイ f301-R8ds) 2024/10/12(土)15:13 ID:iNamx5U/0(1) AAS
Blazor HybridでFull C#がいい
TS/JSのエコシステムを組み入れる必要がないから
MSスタックで長くやってきた会社には向いてるはず
190: (スッップ Sdea-jyON) 2024/10/12(土)20:26 ID:97+nJc5Rd(1) AAS
いくらMSどっぷりといえど、HTML/CSS使えるのにJSできないというのは考えにくいでしょ
そもそもMSってなんだかんだJS大好きだしなあ
191(1): (ワッチョイ de10-TIP8) 2024/10/12(土)23:44 ID:2unSxFzS0(2/2) AAS
そもそもGUIってのはアプリごとに操作を覚え直さなくていいようにパーツを統一するところから始まってるわけで
WindowsもXPぐらいまではかなりのレベルで統一されてたはずなんだ…
Webアプリが主原因だけどWPFアプリの見た目がWin32とちょっと違ったのも一因だよな…
192: (ワッチョイ 8b86-0IMV) 2024/10/13(日)01:44 ID:j6St0Zu00(1/2) AAS
>>191
そりゃないね
VSCが馬鹿でかいボタン集めて作られてもかなわんからな
193(1): (スッップ Sdbf-DTpc) 2024/10/13(日)10:34 ID:ii5+beJfd(1/2) AAS
VSCode含め、最近では不特定多数向けのGUIアプリって基本的にMacで開発されているものが多いから、
Windowsの作法なんてそもそも開発者の眼中にないんだよ
Macはむしろ伝統的にWin以上にOS側でUXを統一する思想が強かったわけだけど、Apple陣営としては開発者の取り込みのためにはWeb開発者に迎合せざるを得なかった
そして結果的に当のApple陣営の存在がアプリの独自UX化を強力に助長してしまったというのは皮肉な話だ
194: (ワッチョイ 9f46-r4Ei) 2024/10/13(日)10:42 ID:t+94VYTX0(1) AAS
Avaloniaってどうなの
Blazor Hybridとどっちがいい?
195: (オイコラミネオ MMcf-Qucc) 2024/10/13(日)10:45 ID:K8QjVhgfM(1/2) AAS
個別のアプリと言うもの自体が死にかけてるからなんでもいいんじゃないかな
今がピークで本当にマルチなGUIはドンドン必要なくなってくると思うよ
上下前次1-新書関写板覧索設栞歴
あと 620 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s