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

レス数が950を超えています。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/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
理解しにくいのは自分の頭が悪いからと認めたら楽になるぞ
2023/01/18(水) 06:40:22.34ID:TLXHiEVz
>>927
理解できないのは以下略
有用だから実際の現場で広く使われてるわけでな
2023/01/18(水) 07:52:46.48ID:o9+9LEzH
ひとりで組むのなら不要だな。
2023/01/18(水) 08:17:37.96ID:hei+0hJF
一人かどうかより何を作るかだよ
一人で作っても数ヶ月すりゃ他人の組んだコードも同然
改修が必要になった時にコードを全部読むことから始めるのでいいなら適当に組みゃいいさ
楽をしようと思うならコードをきちんと粗結合に部品化して自動テストを作れ
その時にMVVMの真価がわかる
逆に言えば使い捨てのコードをコピペで書いてるやつにはわからん
2023/01/18(水) 08:43:55.77ID:5EiIAYSI
5chって実際コード書いて表示するには向いてないから
ここがプログラム議論場にと思うならどこかずれてる
実際は社交場だよ
2023/01/18(水) 08:53:37.92ID:m9JlXA4A
>>928
違います
2023/01/18(水) 10:56:13.56ID:2vbdQEqi
>>935
では、有償コントロールを購入するの一択ですか?
2023/01/18(水) 11:05:26.41ID:Ae/Be31R
バインドの要・不要の話がなんで有償コントロールの話になるんだろう???
2023/01/18(水) 11:06:07.23ID:rGqJK/Ub
>>930
でも現実世界では、優秀な頭脳を持っていると認められている。
2023/01/18(水) 11:10:23.58ID:bTIwJUi8
と思ってるのか
2023/01/18(水) 11:39:51.85ID:rGqJK/Ub
>>939
はっきり言ってやろう。
エッジやFaaSやサーバーレスみたいなのは、頭脳が足りない人が学ぶようなもの
だと思ってる。
2023/01/18(水) 11:49:38.52ID:c8jq7V0g
>>937
数値入力どうやってる?
範囲チェックやエラー表示は?
TextBoxを魔改造してるの?
2023/01/18(水) 11:56:12.65ID:SXpzLPpn
>>940
頭悪そう
2023/01/18(水) 12:01:32.17ID:LLGrNdcq
>>940
AWS Lambdaを採用した事例も仕事も山ほどあるのに本気でそう思ってるとしたら自分が頭悪いということを晒してるだけじゃね?
944デフォルトの名無しさん
垢版 |
2023/01/18(水) 12:02:52.26ID:5d0M22mD
サーバーレスって何がいいの?
945デフォルトの名無しさん
垢版 |
2023/01/18(水) 12:03:00.40ID:5d0M22mD
金だけ?
2023/01/18(水) 12:05:31.62ID:rGqJK/Ub
>>942
頭が悪い人ほどアメリカ留学したがるだろう。
ブランドバックやiPhoneやMac、Excel博士も馬鹿の象徴であるのと同様。
2023/01/18(水) 12:10:12.18ID:LLGrNdcq
>>945
金と品質は重要だぞ
2023/01/18(水) 12:15:27.19ID:LLGrNdcq
リースでたとえたらわかるのかな
メンテナンスフリーで故障したら他のと交換してくれて突然買い替え費用が発生することがないから予算が立てやすく高品質で安価なのがリースのいいところ
使用目的によって自分で持つかリースか選ぶのに脳死でリースを否定するやつの頭がいいわけないじゃん
2023/01/18(水) 12:24:25.68ID:yqLqlqfG
Kenny Kerrも言ってたけど、XAMLをC++/WinRTで使うのは面倒だと思う
App : ApplicationT<App>とかIDLとか全然面白くない
プロジェクション作るのには時間がかかるらしい
950デフォルトの名無しさん
垢版 |
2023/01/18(水) 14:20:49.73ID:dLurmIqM
サーバーレスって
ローカルで無料で動かせんの?

むろんサーバー有りで良いので
2023/01/18(水) 14:28:20.52ID:gBXlL/e8
C++/WinRTは使うだけなら良いんだけどIDLはほんと萎えるから勘弁してけろ
2023/01/18(水) 15:02:17.12ID:26V6tygP
無料枠までなら無料
2023/01/18(水) 15:25:46.90ID:QWqUXBAG
>>946
どこの国へ留学すればいいの?
インドやイスラエルは行ってみたいけども、まずはアメリカからかなと
2023/01/18(水) 15:53:40.74ID:YpZqe6yN
こんな偏見まみれのジジイに聞いても無駄だから相手にすんな
2023/01/18(水) 15:59:57.90ID:rr98D30/
なぜそいつに聞こうと思ったんだw
2023/01/18(水) 17:55:05.34ID:xC2+I1kh
進次郎構文
2023/01/18(水) 20:20:57.42ID:Yk9OvJSb
イキっているやつをからかうのは面白いんだぞ
2023/01/18(水) 21:20:53.53ID:xngnzhTb
>>941
バインド機能の有無が入力チェックできるできないに関わる理由が分らんのだが
2023/01/18(水) 21:50:32.71ID:CEpVrKfp
>>958
バインドするだけで型変換までやってくれるのになんで使わないんですか?
Toolkitとか使えばプロパティの属性だけで範囲なんかも設定できるし
2023/01/18(水) 22:27:28.42ID:xngnzhTb
>>959
半端じゃない?
テキストボックスにintバインドできても不正入力状態は視覚的に見せてくれるけど
入力自体はできてそのまま処理継続だし、結局妙なコード書く羽目になる
2023/01/18(水) 22:32:46.40ID:UweymWAq
>>960
だから有償コントロール買ったり
自分でこねくり回したりしてるんですか?って聞いた
2023/01/18(水) 22:36:54.53ID:xngnzhTb
>>961

バインドできてもこねくり回すよねって確認なんだけど
2023/01/18(水) 22:42:08.74ID:UweymWAq
>>962
エラー表示してくれるし書式もやってくれるし
こねくり回さんことにした
2023/01/19(木) 07:10:32.34ID:yp2D21uT
>>960
なんでDataErrorInfo使わねーの?
2023/01/19(木) 08:36:35.84ID:PfWij2kf
>>964
「バインドするだけ」じゃなくなくてDataErrorInfoのコード書くことになるから
2023/01/19(木) 09:48:19.20ID:yp2D21uT
書くか?
2023/01/19(木) 10:03:38.18ID:nF+tk97O
自分965だけど
IDataErrorInfoの実装は書くでしょ
2023/01/19(木) 10:07:56.18ID:yp2D21uT
フレームワーク使えばいいじゃん
バリデーションルールの記述は要るけどそりゃ何使うにしてもいるだろ
https://learn.microsoft.com/en-us/windows/communitytoolkit/mvvm/observablevalidator
> [Required]
> [MinLength(2)]
> [MaxLength(100)]
↑必要、長さは2から100というルール
正規表現も使えるし必要ならカスタムルールも作れる
2023/01/19(木) 11:06:40.77ID:nF+tk97O
そりゃ用意してくれてる分は出来るでしょ
用意されてない分は?
例えば数値以外の入力そのものを受け付けなくするには?(例えばの話で複雑な条件がいくらでもあるとしてもよい)

そもそもバインドが無かったらテキストボックス魔改造がいるって話>>941が本当かってところからの話だからね
2023/01/19(木) 11:08:29.13ID:yp2D21uT
>>969
だから正規表現も使えるしカスタム条件も作れるとわざわざ書いたのに
2023/01/19(木) 11:10:20.44ID:yp2D21uT
あと数値のみ受け付ける条件は用意されてる
2023/01/19(木) 11:15:18.04ID:nF+tk97O
>>970
だからね論点はそこじゃないのよ
チェックだけじゃなく動作が用意されてない場合は?

あとvalidationはチェックしてくれるが入力制限はしてくれない
2023/01/19(木) 11:41:13.55ID:yp2D21uT
動作はXAMLで簡単に書けるんだぞ
いちいち聞かず調べてみろよ
2023/01/19(木) 11:41:30.33ID:yp2D21uT
もちろん入力制限もな
2023/01/19(木) 11:46:11.94ID:hkE7HGya
俺はバインドを使わないメリットが知りたいなー

速度?満足しています
2023/01/19(木) 12:01:56.61ID:nF+tk97O
言っとくが俺もバインド嫌い使うなって言ってるわけじゃないぞ
>>941にんん?ってなっただけで

あと不正値入力をコードビハインド無しでキレイにガード出来るか?PreviewTextInput使わざるを得ないと思うんだが
2023/01/19(木) 12:44:22.26ID:H7hm+dDp
>>976
お前は三行以上読めない病気か何かなのか?
2023/01/19(木) 13:27:55.46ID:Pc66QaRB
答え持ってないなら煽らずに黙ってなよ
2023/01/19(木) 13:43:35.85ID:3OND9Qe4
同じことを何度言わせるんだって意味だぞw
読めないのか?
どこがわからなかったか言えよw
2023/01/19(木) 14:24:51.33ID:ymhpVUQ8
けんかをやめて 二人をとめて 私のために争わないで もうこれ以上♪
2023/01/19(木) 14:32:55.67ID:W8WJgwM0
ジャスラックの方から来ました
2023/01/19(木) 22:37:00.12ID:xsCmDJD7
>>976
コードビハインドとデータバインドになんの関係があるの?
2023/01/19(木) 23:08:01.88ID:PfWij2kf
>>976
データバインド無かったら入力の挙動変えるのに有償コントロール購入かTextBox魔改造しかないらしい
つまりコードビハインドだけじゃ実現できない何かがデータバインドにはあるってことなのかという疑問
2023/01/20(金) 00:50:25.97ID:vBnAfN4B
間違えた
>>976ではなく>>982
2023/01/20(金) 06:32:13.93ID:qeX6K1Qt
>>928
必須ではありません。
あれば便利なこともあるという程度です。
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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