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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/10/29(土) 11:34:34.12ID:OGteGRtm
WPF(Windows Presentation Foundation)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2023/01/15(日) 17:30:34.23ID:pBiKKGen
どこかの誰ががピタゴラスイッチの間のコードを書き換えたら急に次の日から動かなくなりました
そのどこかの誰かが書いたコードは問題なくテストを通ります
でも副作用が連鎖して全体の状態が変わってしまいます
それがとても追いづらいんです

これでMVVM使う理由って何?
2023/01/15(日) 17:36:41.86ID:pBiKKGen
ちなみにwinformsが出たのも21世紀です
2023/01/15(日) 17:44:46.51ID:I8mw9xxt
mっvmは疎結合だから、ちゃんと設計すればピタゴラスイッチになりにくいはずなんだけどな
偶々そのプロジェクトの設計に欠陥があったんじゃね?
2023/01/15(日) 17:45:45.82ID:pBiKKGen
フェイスブックに言ってやれw
2023/01/15(日) 17:46:44.44ID:cAxzhPBU
開発環境がMVVMに追いついてないんだよな
分離しすぎてるから注入経路を推測して追跡ぐらいしてくれないと人間が把握できない
2023/01/15(日) 17:50:16.62ID:pBiKKGen
フェイスブックは当初はWPFを絶賛してクライアントアプリ作ってたけど確か完成前にWPFを投げ捨てたはず
確かc++でクライアントは開発された
WPFは非常に生産性が悪いんだってさ
837デフォルトの名無しさん
垢版 |
2023/01/15(日) 17:57:05.77ID:xA8RWlPa
>>836
フェイスブックってwebアプリのみじゃないの?。
デスクトップ用のフェイスブッククライアントなんてあるんか。

MFC使いだけどWPFの方がまだマシ。
C言語は色変えるだけども一苦労。
プロパティで色々簡単に変えられるのはイイ!
2023/01/15(日) 17:57:52.01ID:azr6O1Cn
MVVMのメリットってなんなんやろ
すべての機能でテストコードなんて書かないし、複雑で修正がよく入りそうなとこだけ疎結合にしとくのが効率いいよ
2023/01/15(日) 17:59:41.07ID:pBiKKGen
フェイスブックは確かc+++MFCでクライアント開発しなおしてリリースしたはず
2023/01/15(日) 18:02:46.63ID:uT3GlkL2
マウイ君はほんと頭悪いな
2023/01/15(日) 18:05:20.65ID:pBiKKGen
ファイスブックがWPF捨てたあたりから完全に潮目が変わった
当初は著名人もWPFに興味津々で本書いて出してたけどそいつらみんなwebの方に行ってしまった
2023/01/15(日) 18:08:19.79ID:I8mw9xxt
>>839
MVVMが問題なら。WPF使ったって問題ない
CLRのパフォーマンスの問題と考えるのが普通だな
2023/01/15(日) 18:08:49.17ID:y+EPo4wc
>>838
一番のポイントは依存性がV→VMの一方向に限定されていること。
それによってVM-Mだけでロジックのテストを完結できる。
2023/01/15(日) 18:10:26.97ID:R4vpna1L
>>830
脳死でいつまでも昔のやり方に固執してる奴はマジで終わってるしチームにいたら普通に迷惑って話
最初から最後まで一人で作って後任もいないか趣味なら好きにしろ

>正当な作りで使い勝手が悪いとか、お客の要望が実装できないより、
>ゴミコードでも要望通りで使いやすい方が選ばれるのは自明
正当な作りで使い勝手が悪くなるのはそいつがただ無知なだけであって
古いやり方のほうが優れてるみたいな年寄り特有の独りよがりは恥ずいからやめとけ
素直に勉強しろ
2023/01/15(日) 18:12:48.53ID:0/uPn3/5
素人にもメンテ出来る作りにしてくれたらどうでもいいよ
開発者のオナニーで複雑に作られたらメンテする人が可哀相
2023/01/15(日) 18:15:03.08ID:pBiKKGen
WPF+mvvmって全然流行ってないよね?
そんなに優れてるならなんで採用例がほぼないの?
2023/01/15(日) 18:18:38.80ID:pBiKKGen
WPFが正式リリースされる前から注目度は高かった
自分はムック買って付属のCDのWPFプレビュー版をインストールして使ってた
付属ソフトで3D表示をいじったりしてた

でも実際リリースされたらXAMLの書式ががらっと変わってて使えなくなってた
2023/01/15(日) 18:23:03.51ID:THKmoAep
速度は.NET6や7でかなり速くなったらしいけどどうなの?
2023/01/15(日) 18:26:18.24ID:pBiKKGen
WPFと言えば3D風カルテかなあ
あれって実際動かした覚えがないなあ
850デフォルトの名無しさん
垢版 |
2023/01/15(日) 18:29:05.84ID:xA8RWlPa
>>848
.NET6などは知らんけどやたら早い。

WPF + DataGrid 職員データ7000件の表示で1.2Sec位。
WinFoms + DataGridView で3-4Sec。
段違い。
851デフォルトの名無しさん
垢版 |
2023/01/15(日) 18:29:57.04ID:CnKOeOE3
>>833
これ
852デフォルトの名無しさん
垢版 |
2023/01/15(日) 18:30:42.51ID:CnKOeOE3
MVVMでピタゴラスイッチになるか???
2023/01/15(日) 18:36:34.62ID:I8mw9xxt
初期のWpfでMVVMやると結構辛いところもあったが
ReactivePropertyでmのプロパティーを簡単にVMでリレーできるようになって
イージーモードになったよな
2023/01/15(日) 18:37:19.59ID:IdI6Yaqd
個人でMVVMやる理由がない
仕事でもMVVMやるほど分業してるところなんて少ない
855デフォルトの名無しさん
垢版 |
2023/01/15(日) 18:43:15.65ID:xA8RWlPa
MVVMが良いとか悪いとか喧々諤々してる時点で失敗作。
2023/01/15(日) 18:52:49.51ID:pBiKKGen
WPFに出会ってから18年ぐらいたってるけどいまだにこんな感じ
2023/01/15(日) 18:59:03.25ID:pBiKKGen
思い出したけど3D風カルテは確かデフォの状態でコード動かしても起動時にエラー吐いて死ぬんだったなあ

おまかんなのかもしれないが
2023/01/15(日) 19:04:57.75ID:IdI6Yaqd
MVVMが手段ではなく目的になってる奴が多いからな
MVVMやってることに優越感を覚えてるだけ
これ言うとキレて反論してくる奴いるけどw
2023/01/15(日) 19:18:00.08ID:ssAeiLbk
>>858
ここの住人はほぼそうですが何か?
860デフォルトの名無しさん
垢版 |
2023/01/15(日) 19:18:56.66ID:CnKOeOE3
MVVM楽だけどな
x:Nameわざわざつけんでいいし
2023/01/15(日) 19:19:17.24ID:FZ6iEp1r
まーた始まったよMVVM初心者の馴れ合い
2023/01/15(日) 19:19:33.21ID:pBiKKGen
ボタンクリックでコードビハインドでダイアログ出して結果をVMに送っても何も問題ない
2023/01/15(日) 19:29:07.15ID:0/uPn3/5
>>861
初心者を蔑ろにした結果が今なんだが
2023/01/15(日) 19:47:53.03ID:y+EPo4wc
>>854>>858
この10年の間、このスレにやってきてWPFに文句つける人の主張をきれいに濃縮したようなレス
2023/01/15(日) 19:51:26.41ID:IdI6Yaqd
なに意味不明なこと言ってんだ
MVVMの話をしてるんであってWPFの批判なんぞ一言もしとらんぞ
2023/01/15(日) 21:15:02.27ID:iltDDRsm
MVVMにまでする必要はないけどBinding使うとすっきりするよね
コントロールのイベント拾ってハンドラ書いてとかあんまり楽しい作業じゃないしな
867デフォルトの名無しさん
垢版 |
2023/01/15(日) 21:21:21.69ID:CnKOeOE3
MVVMToolkit神だわ
とりあえずVMのプロパティに[ObservableProperty]
コマンドに[RelayCommand]って書くだけで簡単にバインディングしやすいもの作ってくれる
2023/01/15(日) 21:37:15.33ID:3VNVbvO3
毎度のことながら、MAUI君がMVVMわからんだけでしょ
2023/01/15(日) 22:03:49.49ID:pBiKKGen
どこにMAUI君がいるんだ?
2023/01/15(日) 22:10:14.58ID:pBiKKGen
MVVMのボイラープレートの克服までほぼ18年
長かったな
871デフォルトの名無しさん
垢版 |
2023/01/16(月) 01:05:57.79ID:Iz2auSAp
>>870
ソースジェネレーター様々やね
2023/01/16(月) 01:31:56.05ID:jbRKb4Hw
いや、こんなおもちゃレベル役にたたねぇわ
ReactivePropertyに戻ったわ
873デフォルトの名無しさん
垢版 |
2023/01/16(月) 01:41:18.22ID:Iz2auSAp
>>872
まぁリアクティブプロパティのほうが便利ではあるかな
2023/01/16(月) 02:08:51.53ID:/GlbjUVw
ところで、WPFはMVVM使って無いんだっけ?
2023/01/16(月) 02:40:34.45ID:oqRccVVg
WPF自体はMVVMを前提にした設計じゃないし
2023/01/16(月) 05:35:38.45ID:ln473g1j
https://resanaplaza.com/%E4%B8%96%E7%95%8C%E3%81%A7%E4%B8%80%E7%95%AA%E7%9F%AD%E3%81%84%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E8%A6%9A%E3%81%88%E3%82%8Bmvvm%E5%85%A5%E9%96%80/
2023/01/16(月) 05:47:45.42ID:ouvn8Qe6
>>876
グロ
2023/01/16(月) 05:49:34.85ID:/hQdjI/Z
都合が悪いらしいw
2023/01/16(月) 06:20:44.96ID:XnQwhXwg
いつまでも昔のやり方(MVVM)に固執してる奴は本当に終わってる
2023/01/16(月) 06:39:46.83ID:SiY4XPCw
>>879
でお前の思う最新のやり方って何?
881デフォルトの名無しさん
垢版 |
2023/01/16(月) 07:31:23.53ID:D6HKBdG5
最新に拘る必要性はない。
未だにMFC使ってるところもある位だ。
2023/01/16(月) 07:49:13.57ID:w9H3AhrL
もうMFCはメンテでしか使わないけどMFC以前は大変だったよな。
2023/01/16(月) 07:54:49.72ID:c+FIjEwY
C#案件でもいまだにWinFormsが主流だからね
WPF、UWP、WinUI全部足しても足元にも及ばないしこれまでの実績からしても逆転は難しいと思うわ
まあMSがWinForms廃止とか思い切った事すれば別だけど
2023/01/16(月) 09:29:45.28ID:qA2gV+xU
結局>>879はWinFormおじさんでFA?
2023/01/16(月) 11:19:33.01ID:0JXp7IbD
WindowをShowしてタイトルバーの✕ボタンで閉じるとメモリが解放されないんだけど、どうすれば解放されますか?
ちなみに、ShowしたあとにCloseをコードで呼ぶとメモリは増えません
2023/01/16(月) 11:58:31.09ID:WxVH55lQ
スタイルでカラーだけを定義することってできないの?
SolidColorBrushのColorにStaticResource使いたいんだけど
2023/01/16(月) 12:26:08.54ID:dASaOUn0
>>877
見てみたが、グロではなかった。
「世界で一番短いサンプルで覚えるMVVM入門」
というサイト。
Windows Form と WPF における構造の違い
など。1
2023/01/16(月) 12:27:38.92ID:dASaOUn0
>>881
というか、WindowsでC++やろうとすれば、MFCが最強。
そして、プロが使う言語No.1は、C/C++という調査結果がある。
889デフォルトの名無しさん
垢版 |
2023/01/16(月) 13:34:17.40ID:Iz2auSAp
MVVM+Sという風に作るのが一番整理しやすい気がしてきた
M…モデル データクラスの置き場所
V…ビュー 画面表示のみ
VM…ビューモデル Vの情報から必要なSに繋ぎこむ、簡易的なプロパティの変更などはここで行っても良い
S…サービス モデルを活用してほしい情報を作り出す(VMからもらった情報を処理してVMに返すなど)
こんな感じ
890デフォルトの名無しさん
垢版 |
2023/01/16(月) 13:35:10.32ID:Iz2auSAp
VMは情報をやり繰りするだけだから肥大化しにくくなる
サービスに投げるだけでいい
2023/01/16(月) 13:35:35.51ID:F54AIUF2
>>888
MFCなんてただの黒歴史だろw
時々いるんだよMFCとSDKの区別がついてないやつ
2023/01/16(月) 13:40:56.86ID:dASaOUn0
>>891
MFCが良いと言いたい訳ではない。
2023/01/16(月) 13:41:55.32ID:dASaOUn0
ただ、WinFormsも、Windowsアプリというより、ダイアログアプリになるし、
さらに、イベントハンドラもメンバ関数ではなくグローバル関数で受けることになる。
2023/01/16(月) 13:51:24.70ID:dASaOUn0
MFCを使わないというなら、VisualStudioで、VisualStudioの機能を生かした
状態ではC++は使えない、ということになる。
2023/01/16(月) 14:01:34.32ID:6LxSdNjw
そうですか
迷惑なんでそっちのスレに帰ってください
2023/01/16(月) 14:01:42.01ID:9XKZ39ED
XamlのBorderを、コントロールの内側に沿って引くのでは無く、
GroupBoxみたく外側に沿って引く事は出来ますか?

もしくはGroupBoxのヘッダを無くす事は出来ますか?
2023/01/16(月) 14:07:08.51ID:8YM4/SqS
C++でGUI作るとかどんな苦行だよ
2023/01/16(月) 14:26:05.60ID:dASaOUn0
C++は、CUI Onlyという訳にも行かない。
899デフォルトの名無しさん
垢版 |
2023/01/16(月) 15:31:21.68ID:MsfEWWA2
MFCが糞なんであって
C++の責任ではないな
wxWidgetsとかあるし
900デフォルトの名無しさん
垢版 |
2023/01/16(月) 15:38:14.73ID:Iz2auSAp
いい加減スレチ
2023/01/17(火) 05:33:10.39ID:ygVLikR5
海外のナレッジコミュニティですらUWPでアプリ沢山作ってるんだけど次世代は何に移行すればいいの?Windows App SDKとWinUIの違いがわからないから教えて?
って質問が腐るほどあるんだよなMSはいい加減社内の派閥争いや予算編成のための糞見たいなプロジェクトをすべて清算して構造改革しろや
ずっとMSの開発環境で開発してきたPGですらMSの次々作っては捨て作っては捨てを繰り返してる環境が理解できないのだが
いやもちろん理解はできてるWindow App SDKは.NETのサブセットでもない独立したWin10/11のフロントエンドFWでWinUIを内包するツールキットである
このスレでもこれをまったく理解してない馬鹿も多いがネイティブな英語圏の奴等でも理解してない馬鹿も多いからしゃーないわなMSが悪い
2023/01/17(火) 05:58:58.13ID:xhrCM/NA
まず句読点をおぼえような
2023/01/17(火) 09:30:18.92ID:24vv2EmE
>>901
そいつらが馬鹿なだけ

MSのFAQに答えが乗ってる
>>677
2023/01/17(火) 10:52:24.83ID:YygKbhO7
XAMLのレイアウトでWithやHeightをウィンドウ枠に追従させたいのですが、
クリップみたいなマークが出る時と出ない時があります。
またマークが出てもその時の最大値が設定されているだけで、ウィンドウ枠を拡大しても追従しない時があります。
必ずウィンドウ枠に追従させるには、どの様にしたら良いのでしょうか?
WinFormのアンカーみたいな機能はありませんか?
2023/01/17(火) 11:12:10.06ID:mymdZu3l
タグの方でWidthとHeightを消すと最大になる
あとはMarginで調整
2023/01/17(火) 11:28:11.99ID:vy/ApWO8
デザイナー使うのは初めのざっくりとした配置の時ぐらいに留めて、なるべくxamlを直接弄った方がいいぞ
2023/01/17(火) 12:15:14.68ID:5q5rlfCc
android studioのデザイナー使うとXaml編集はやりたくなくなる。
2023/01/17(火) 15:22:10.34ID:YygKbhO7
>>905
消しても上にあるコントロールの長さまでになるのですが、何か対策はありますでしょうか?

<TextBlock Width = "200" Text="abcdefghijklmn" />
<GroupBox Header="hoge"/> <!-- 上のTextBlockと同じ長さになる -->
909デフォルトの名無しさん
垢版 |
2023/01/17(火) 16:23:11.93ID:p+xlncxJ
何も知らないなら全部出せ
2023/01/17(火) 17:37:49.48ID:24vv2EmE
>>908
基礎からやりましょう
2023/01/17(火) 18:36:00.51ID:YygKbhO7
https://stackoverflow.com/questions/37443350/how-to-accommodate-groupbox-in-wpf

WidthやHeightを使用してるコントロールがあると、動かなくなってしまうのですね
作り直します
2023/01/17(火) 18:58:35.17ID:vy/ApWO8
沢山書いて慣れろ
とりあえずHorizontalAlignmentとVerticalAlignment覚えたらいいよ
913デフォルトの名無しさん
垢版 |
2023/01/17(火) 20:52:51.26ID:wRZWVlv5
XMALの冒頭のhttpのアドレスが邪魔すぎ。
2023/01/17(火) 21:18:00.01ID:ygVLikR5
このスレは初心者スレそのものだなまったく技術的な話ができない・してない
というか5chのプログラム板がもうそうなってるな昔からそうなのかは知らんが
C#スレも酷いしまぁ現役のできるPGが5chこねーよな俺も興味本位でのぞいたけどレベル低すぎて草生えたわ
まぁここがRedditと5chの違いだなマジで底辺しかおらんからナレッジコミュニティになり得ない
915デフォルトの名無しさん
垢版 |
2023/01/17(火) 21:49:39.55ID:g2NvLQQ3
>>914
しゃーない
916デフォルトの名無しさん
垢版 |
2023/01/17(火) 21:50:13.30ID:g2NvLQQ3
新しく作るか匿名プログラマーコミュニティ
2023/01/17(火) 22:05:44.67ID:MazWZHnJ
>>914
他の理系の専門知識板ではもっと頭が良さそうな人が集まってるのがなぜかと
思っていたら、
プログラミングは「誰でも受かる専門学校」もあるから、自称「専門知識がある」人
が本当にIQが高かったり勉強が出来た人を馬鹿にしたりするらしい。
2023/01/17(火) 22:07:15.13ID:MazWZHnJ
サーバーレスだのSaaSだのエッジだのクラウドだの訳の分からん知識だけが
多い人が居るが、そういうのが専門学校卒なのかも知れん。
それらは頭で考えるようなものではなく単なる知識だから。
919デフォルトの名無しさん
垢版 |
2023/01/17(火) 22:10:41.60ID:g2NvLQQ3
>>918
ほんとに使えるならいいんじゃね?
手足として使えるし
2023/01/17(火) 22:14:39.81ID:MazWZHnJ
普通、レベルの高い有名大学の工学部の「情報学科」に行くと、シャノンの定理や
コンパイラ理論の決定性オートマトンなどを学んだりするもの。
ホビー的にはマイクロマウスやロボットなどのメカトロとかに興味を持ちやすい。
エッジとかサーバーレスとか、そんなものばかかりを語る人が多くて、なんで
そうなるのか分からん。仕事でそんなことばかりしてるのかも知れんが、
人生楽しいのかな。
2023/01/17(火) 22:18:00.37ID:MazWZHnJ
問題なのは、XAML、MVVM、FaaS、サーバーレス、エッジ、Web3 などは、
言葉の定義を知っているかどうかで、理解にほとんど数理的能力を必要としない
のに、知ってるだけで上に立った様に思う人が居るところ。
どんどん新しい言葉を勝手に定義して知ったかぶりをする。
しかも変な言葉が多い。
2023/01/17(火) 22:27:18.87ID:NxNmRrPJ
チラシの裏にでも書いてろって懐かしい言葉が思い浮かんだ
2023/01/17(火) 22:27:41.96ID:b45xWfAv
>>913
chatGPTに負けるなぁ
でXMALって何だろう
2023/01/17(火) 22:52:11.15ID:aOAgyere
>>921
その程度の言葉も知らないならバカにされることもあるだろうよ
2023/01/17(火) 22:57:43.54ID:MazWZHnJ
>>924
言葉の定義の範囲が広すぎたり不明確だったりするものも含まれている。
言葉として定義すべきかどうかも怪しかったり。
だから理解しにくい。
2023/01/17(火) 22:58:52.81ID:Pd7iVLN5
無知な奴ほど根拠の薄い決めつけ好きだよな
2023/01/17(火) 23:07:12.51ID:MazWZHnJ
MVVMとかも廃れるんじゃないかね。
一度定義も学ぼうとしたが、定義そのものが曖昧な感じがする。
もとは、HTMLとRDBMS(MySQLなど)を組み合わせてサーバーから
ブラウザにHTMLを転送する便利な仕組みを作ったことが始まりで、
それをデスクトップアプリにも応用しようとしただけであって、
本当はそんなに便利じゃないんだと思う。
つまり、デスクトップアプリでは不要。
2023/01/17(火) 23:15:21.71ID:EL4DBQVJ
MVVMはともかくデータバインドはWPFには必須ですよね
違いますか?
2023/01/17(火) 23:16:43.91ID:VrRSMaFk
C++/WinRTでWinUI3使ってる人いるの?あれ難しいんだけど
2023/01/18(水) 06:39:24.57ID:TLXHiEVz
>>925
理解しにくいのは自分の頭が悪いからと認めたら楽になるぞ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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