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

■ このスレッドは過去ログ倉庫に格納されています
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/
2022/12/18(日) 00:18:12.76ID:2sFwaZx0
WinFormsは確かに楽なんだけど、ちょっとこりだしてオーナードローに手を出すと
泥沼にハマったんだよな
だからWPFが救世主に思えたわ
2022/12/18(日) 01:34:05.26ID:unD+40ms
>>508
jsonか何かで持っときなよ。
514デフォルトの名無しさん
垢版 |
2022/12/18(日) 04:50:01.87ID:Wdso+RO7
>>507
その部分はコミュニティが担ってほしいって感じなんだろうなあ
元の部分が細かくやれたり選択の幅広くなってるのはいいことなんじゃないか
515.NET MAUI HighSchool
垢版 |
2022/12/18(日) 07:16:40.91ID:kMWioX0P
>>513
動的に追加するんだぞ?
2022/12/18(日) 09:23:39.32ID:unD+40ms
>>515
何を?投稿?
それだけどっかに貯めて、ビルドしてjsonだけ配信したら良いじゃん。
DBエンジンだけならいくつかあるし、それこそfirebaseなんかもあるでしょ。c#からでも使えるよ。
517.NET MAUI HighSchool
垢版 |
2022/12/18(日) 10:00:50.09ID:kMWioX0P
>>516
ファイアベースとか使うなら自分でSQLServer作ったほうがマシなんですよねぇ…
結局やってること変わらんしw
2022/12/18(日) 11:37:06.59ID:tRFaQ7ls
>>517
どこがマシなの?
現状の無残さを少し解消してから言ったらどう?
519デフォルトの名無しさん
垢版 |
2022/12/18(日) 13:36:53.11ID:kMWioX0P
>>518
無残さ?
ファイアベース使ったらどこがよくなんの?
2022/12/18(日) 13:48:58.72ID:unD+40ms
>>519
独自ドメインの取り方がわかんないと言うのを差し置いても、たったこれだけの機能を静的にホスティングせずに、しかもSQL Serverと同じホストに相乗りさせてるところがひどい。
しかもoriginが露出してるから色々まずいわ。

ポートがガバガバに開いてるぞ。閉めとけよ。
他の人の忠告を自分が優秀だと思い込んでけなす前に、もう少しちゃんとやれよ。
2022/12/18(日) 13:49:15.79ID:unD+40ms
>>519
完全に静的にやれる。
522デフォルトの名無しさん
垢版 |
2022/12/18(日) 13:56:49.92ID:kMWioX0P
>>520
ポートガバガバというか開けてんだがw
Azureでやってたけど糞金かかってしょうがないからサーバーたててやってる
523デフォルトの名無しさん
垢版 |
2022/12/18(日) 13:58:04.21ID:kMWioX0P
>>521
ファイアベースとかゴミだから使わなくていいや
どうせSQL投げないといけないしその時C#で書けないしSQL直書きだろ?
ゴミじゃん
2022/12/18(日) 14:05:50.66ID:unD+40ms
>>522
いや開けるなよ。RDPとMSSQLまで開いてるとか正気の沙汰じゃないぞ。
MSSQLに関してはlocalだけlistenすれば良いじゃねえか。

>>523
おまえの知識がゴミじゃん。そもそもSQLじゃないよ。
2022/12/18(日) 14:07:15.87ID:iKVYvy3c
面白いから何も教えず様子見したいぞw
2022/12/18(日) 14:07:37.29ID:unD+40ms
俺がスキャンした訳じゃ無くてすでにshodanとかに載ってたからな。ホントに気をつけろよ。
2022/12/18(日) 14:09:34.14ID:unD+40ms
金かかるの不正アクセスされてたのでは疑惑。
2022/12/18(日) 14:16:40.29ID:KVP7/Uup
>>514
多様性は必要だとは思うけどまずMSからベストプラクティスの一本の道を提供してほしいと思うんだよね
bindingもどこでもいつでもいくらでもやれるけどじゃあどこでどんな形で記述するのが適切な(と考えてる)のかってさ
wpf、winuiで微妙に変わってたりするところとかなんか思想に合わなかったんだろうなとは思うけど方向性が見えてこない
2022/12/18(日) 16:25:16.16ID:VSRE5hGV
MVVM真理教が蔓延する前の本来のWPFは結構フレームワーク色が強かったんだけどね
MVVMによって捻じ曲げられてしまった
2022/12/18(日) 16:57:35.43ID:MjUgo5v/
どうでも良いじゃん?
自分が開発した訳じゃないし?
2022/12/18(日) 17:51:16.68ID:dQrFssVo
仮に捻じ曲げられたとして、何か問題あるか?
MVVMは、その人の選択肢の一つだぞ。
532デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:11:57.96ID:O0BrndJz
MVVM、社が使えと言ったら従うしかない。その必要性がなくてもな。
2022/12/18(日) 18:35:43.04ID:ciqdCn4z
お前の会社の事情はどうでもいいです
2022/12/18(日) 18:44:27.95ID:dQrFssVo
>>532
それはMVVMと関係ねぇだろうが。 バカか こいつは。 存在にイチャモン付けて、自分勝手な意見を開陳しているだけじゃねぇか。 ボケ
535デフォルトの名無しさん
垢版 |
2022/12/18(日) 19:21:42.18ID:O0BrndJz
>>511
WPFでも非MVVMの方が実際は多いけどな。
2022/12/18(日) 19:46:19.46ID:QPBv7IOu
>>535
それはどういう統計で母数は何?
537デフォルトの名無しさん
垢版 |
2022/12/19(月) 01:45:30.46ID:vCOaUwJ9
サンプルプロジェクト見るときMVVMだと探し物がすぐ見つかっていいな
他人のコードが理解しやすい
538デフォルトの名無しさん
垢版 |
2022/12/19(月) 11:01:28.37ID:z4E/OQua
今更ながらWinUI3触ってみたけどデザイナーないんだな…
分業が云々はなんだったのか…
2022/12/19(月) 12:00:27.49ID:WCKjj0Ji
<Label/><TextBox/><Button/>を一つのグループとして、
リサイズされたら3つまとめて折れる様にしたいですが、どの様にしたら良いのでしょうか?
<WrapPanel>で出来ると思ったら、途中で折れてしまいましたので方法がありましたら教えてください。
2022/12/19(月) 12:24:36.78ID:bgdAO3Z4
子パネルに乗せたら?
2022/12/19(月) 13:08:41.52ID:WCKjj0Ji
>>540
更にパネルを重ねる事で出来ました!
ありがとうございます
2022/12/19(月) 14:03:30.58ID:WCKjj0Ji
連続ですいません
<ScrollViewer VerticalScrollBarVisibility="Visible" Grid.Row="1">
<WrapPanel Orientation="Vertical">
<WrapPanel Orientation="Horizontal" >
にして、中のパネルを横並びで画面右側まで行ったら下側で折り返しにする事は出来ましたが、
中のパネルを縦並びにして、画面下側まで行ったら右側に折り返す事は出来ませんでした

<ScrollViewer HorizontalScrollBarVisibility="Visible" Grid.Row="1">
<WrapPanel Orientation="Horizontal">
<WrapPanel Orientation="Vertical" >
この書き方では間違っているのでしょうか?

○期待する動き
1 5
2 6
3 7
4 8
543デフォルトの名無しさん
垢版 |
2022/12/19(月) 17:08:05.55ID:vCOaUwJ9
>>538
分業するならむしろデザイナーいらない
専門家にデザイナーは不要
544デフォルトの名無しさん
垢版 |
2022/12/19(月) 17:25:34.40ID:kutkFgTc
designerよりhot reloadだよな必須なのは
545デフォルトの名無しさん
垢版 |
2022/12/19(月) 17:47:29.54ID:vCOaUwJ9
>>542
中のパネルはStackPanelじゃないの
2022/12/19(月) 19:03:52.60ID:WCKjj0Ji
>>545
StackPanelとWrapPanelの組み合わせを色々と試してみましたが、
特に変化はありませんでした
2022/12/19(月) 20:01:03.84ID:XGNhDgL5
マージン等含めて50%以下の幅になってる?
2022/12/19(月) 20:30:21.11ID:WCKjj0Ji
はい、横幅は広く取ってありますので、
大きくて折り曲がらないという訳ではありません

1234
5678
の、横並びなら出来ましたので
2022/12/19(月) 21:11:41.96ID:yHsZASXY
ScrollViewerのVerticalを無効にしないとダメだった気がする
2022/12/19(月) 23:44:35.16ID:DZc1AdVr
カスタムコントロールってなんであんなに作るの難しいんだろ
なんか良い方法ないかな
2022/12/20(火) 10:12:02.46ID:9021TSu1
>>549
ScrollViewerはHorizontalにしているのですが、Verticalを無効にする方法にしているのでしょうか?
>>542の2つ目です)
552デフォルトの名無しさん
垢版 |
2022/12/20(火) 12:08:39.76ID:fq9+XXgF
>>551
ScrollViewerのVerticalを無効にしないと、縦のスクロールバーが表示されてるはず
その状態だとVerticalなWrapPanelは右に折り返さないよ
2022/12/20(火) 14:20:01.47ID:9021TSu1
>>552
確かに縦のスクロールバーが表示されていました

ただ、下記2つを追加して縦のスクロールバーを消してみても、折り返しにはなりませんでした
VerticalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Hidden"

縦だけを無効にする方法はありますでしょうか?
2022/12/20(火) 17:03:22.83ID:r6dlRNzm
>>553
これじゃダメなん?

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
<WrapPanel Orientation="Vertical">
<TextBlock Text="1" />
<TextBlock Text="2" />
<TextBlock Text="3" />
<TextBlock Text="4" />
<TextBlock Text="5" />
<TextBlock Text="6" />
<TextBlock Text="7" />
<TextBlock Text="8" />
</WrapPanel>
</ScrollViewer>
2022/12/20(火) 17:46:07.27ID:9021TSu1
>>554
HorizontalScrollBarVisibility="Visible"を"Auto"にしたら出来ました!ありがとうございます
何が違うのか不明ですが、理想の挙動になりました
2022/12/20(火) 23:42:25.86ID:lmYS68zp
基本を知らないと永遠にそのままだよ
2022/12/21(水) 11:46:43.68ID:TtPf9QKS
マイクロソフトのHPにはスクロールバーの表示方法しか書いてありませんでしたが、
挙動はどこに書いてあるのでしょうか?
2022/12/21(水) 16:19:44.24ID:kli+CPfL
単にプロパティの既定値を確認するだけだよ
2022/12/21(水) 19:49:24.25ID:RZVo2DHQ
>>557
ScrollViewerのVerticalScrollBarVisibilityをたどるとプロパティ値のenumの説明がある
多分それじゃ基本が出来てない人間が見ても意味不明
2022/12/21(水) 20:04:49.00ID:RZVo2DHQ
正確ではないけど概念だけ

WPFのコントロールは他のコントロールを中にもてるものがある
ScrollViewerも中にコンテントを持てる
そのコンテントに対して表示できる方向のサイズを渡しているのがDisabledの場合だけで
それ以外は中のコントロールは無限の空間に対して描画する

今回の場合Wrappanelはサイズを無限でもらってるので折り返しなどせずにずっと同じ方向に並べてる
サイズを貰えばそれ以上並べられないので折り返する

Disabled以外は名前の通りの役割をするためにサイズを渡さない
2022/12/22(木) 10:41:50.97ID:7YC6l9nz
バインドしてる値を別スレッドで変更したいんだけど、WPF的にはどういう方法がスマートなんですか?
2022/12/24(土) 10:55:22.30ID:t/A2TIqc
カスタムコントロールでボタンを継承したカスタムボタンを作りたいんですが、見た目は変えたくありません。Generic.xamlのControlTemplateの内容をどう書けばいいのでしょうか?
2022/12/24(土) 11:44:45.10ID:3XxJxF/+
>>562
WPFでは既製のコントロールを継承することは推奨されていない
2022/12/24(土) 13:03:36.36ID:t/A2TIqc
>>563
マジですか?
新しいプロパティとか追加したい場合はどうするのが正しいの?
2022/12/24(土) 13:15:04.75ID:6dIbenX1
>>563
聞いたことねーよ
どこ情報だよ
テンプレートあるからもっと先祖から継承した方が楽な場面は確かに多いが
2022/12/24(土) 14:05:27.75ID:KGl+gULy
>>564
添付プロパティ使えば
2022/12/24(土) 15:40:50.67ID:t/A2TIqc
>>566
ありがとうございます、添付プロパティにしてみます。

読み取り専用の添付プロパティってどう書けばいいのでしょうか?
添付プロパティAの値がnullならtrueを返す読み取り専用の添付プロパティBを作りたいです。
理由は添付プロパティBをスタイルのトリガーにして見た目を変えたいので
568デフォルトの名無しさん
垢版 |
2022/12/25(日) 18:02:02.06ID:dmK7/vre
ヒントだけでもいいだが、DataGridでセルの編集で数値のみとか数字3桁毎に自動的に
カンマ入れたりするのはどうやるんだ?
入力っていろいろ規制掛けないといけないんで大変だよな。
2022/12/25(日) 23:16:56.18ID:8AzSKsIA
validate か。
Ruby on Rails には、view, model に、そういうのが一杯付いている。
自作もできる

数字だけとか、必須項目とか、正規表現とか
2022/12/26(月) 03:42:41.78ID:iWTvHOM5
Pythonスレのテンプレ
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨

何やったんだよ!
571デフォルトの名無しさん
垢版 |
2022/12/26(月) 20:18:35.63ID:9Pn7XAOS
確かにWPFできいてるのにな。
2022/12/26(月) 23:12:58.49ID:7uFO0tNU
Bindingなら
{Binding x, StringFormat={}{0:N0}}
でカンマ入るけどそういうことじゃなくて?
2022/12/26(月) 23:29:38.48ID:z2aPAIXQ
基地外になぜそんなことをやるのかと聞くだけ無駄でしょ
Rubyキチ・mauiガイジどっちも日本語が通じないから会話が成り立たない
2022/12/27(火) 00:25:08.05ID:tGUf3h3t
Rubyしか知らないんだろ
それで暇な時にこの板をあちこちぽちぽちして自分に答えられそうな内容だけRubyで書いてるんだろ

多分退職してヒマなジジイだな
575デフォルトの名無しさん
垢版 |
2022/12/27(火) 07:39:40.50ID:0PjUHqZ1
>>572
たぶんそういうこと。
できるんだろうけど実際にやるとなると
いろいろ難しい。
2022/12/27(火) 12:06:26.63ID:Kftk9ezc
親要素のプロパティを子要素のプロパティにはバインドできるけど、これの逆は出来ないの?
577デフォルトの名無しさん
垢版 |
2022/12/27(火) 19:03:50.54ID:9wFozQiO
出来ると思いますよ
578デフォルトの名無しさん
垢版 |
2022/12/29(木) 04:39:16.39ID:b41+0edO
今日からWinUI始めたんだけど
例えばGridだかの子要素にボタンとかテキストボックスとか色々入れてる状況で
一括でIsEnabledを変更する方法ってなんかある?
WPFではGridにもIsEnabledプロパティあったから簡単に切り替え出来たんだけど
全部個別に設定する以外無いんだったら流石にWinUI捨てるわ
2022/12/29(木) 07:47:24.21ID:M3tu7zGH
ちゃんとコントロールに名前つけてるか?
2022/12/29(木) 07:48:51.27ID:M3tu7zGH
間違えた
スルーして
2022/12/29(木) 08:49:19.58ID:5FX0eSOg
>>578
UWPの段階でなくなったぞ
ContentControlとかで包めば良い
2022/12/29(木) 11:47:38.77ID:6S/zEtlt
コンバーターのパラメーターに型を渡すことってできる?
2022/12/29(木) 15:41:15.47ID:4y9YmCsf
どの段階の何のことを言ってるのかわからんので具体的に
2022/12/29(木) 22:28:00.21ID:b41+0edO
>>581
ありがとう、試してみたらそれでできたよ
なんかWinUI3少し触っただけでもバグ多いな
.Net7指定したらプロジェクト直接書き換えないとビルドできなくなるし
WindowのExtendsContentIntoTitleBarプロパティはXamlで指定するとエラー吐くし
デザイナー無いくせにホットリロードしょっちゅう効かなくなるからいちいち再起動必要だし
この調子だと効率悪すぎるからしばらくはWPFシコシコ継続に戻るかな
2022/12/30(金) 00:40:50.81ID:0MQls0Ro
WinUI用のデザイナ出来てない段階でMSはまだ本気なんて出してないから
触るのは業務の人だけでいいと思う
2022/12/30(金) 00:45:03.47ID:NuFevzjg
ValidationRulesのパラメーターにBindingしたいんですが、上手く値がバインドされてくれません。
もしかして、見てるDataContextが異なったりします?
2022/12/30(金) 10:12:51.52ID:33dTHmGU
色々と迷走しすぎ。
WPFの標準テーマをモダンに変えるだけで後100年は戦えるのに。
2022/12/30(金) 10:44:10.47ID:X0WFi5mm
WPFはパララックス・ビューとかコネクテッドアニメーションとかセマンティックズームがないから
イマイチなんだよな

どれも実務的には役立たずなんだが
2022/12/30(金) 15:07:44.44ID:0MQls0Ro
>>587
視点がいまいちだな
MSはwindowsformsにMVVM拡張入れだしたよ

winUI3が成功したらWPFの方が先に捨てられる可能性が高い
と言うかもう結構見捨てられてる!
2022/12/30(金) 15:24:26.29ID:I9alFHtB
そもそもWinFormsってMVVMわからないおぢさん用なのに
今更そこにMVVM入れて誰に需要あんのかね
仕事で既存のWinFormsアプリを今更MVVMになんてリスク取るやついないだろうし
それが出来るやつはもうとっくにWPF以降のフレームワークに移行してるだろ
2022/12/30(金) 15:25:58.12ID:0MQls0Ro
かずきの一押しフレームワークがUWPな時点でお察し
2022/12/30(金) 15:29:20.22ID:Gfrgu+Wn
>>591
ソースは?
2022/12/30(金) 15:51:52.00ID:0MQls0Ro
おすすめ度
Windows Form:触れる必要があるまで触れる必要はないと思います。
WPF:Windows 7 以降を対象にするならコレ
UWP:Windows 10 以降を対象にするならコレ。
2022/12/30(金) 16:25:58.35ID:a69kFbJ3
MSはすぐに新しいものに飛びつくからそろそろ破綻しそう
WinForm/WPF/UWP/WinUI2/WinUI3/Xamari/MAUI
横断的にマイルストーン組めてるのかね
2022/12/30(金) 16:30:29.43ID:0MQls0Ro
>>594
実体がわかってるなら一部は横断的だと気が付くだろう
2022/12/30(金) 16:45:56.24ID:AdKYU3tp
WinUI3の放置っぷりの方が酷いわ
Issue報告しても1ヶ月は放置されるのが基本
MAUIといいマイクロソフトのクライアント開発環境はゴミだから
可能なら避けるべき
2022/12/30(金) 16:53:00.00ID:0MQls0Ro
始めるには2年ぐらい早すぎる
2022/12/30(金) 16:54:43.07ID:a69kFbJ3
プラットフォームレベルで切り捨て切り替えしまくっててとても管理できてるとは思えんなあ
デザイナ作る余裕すらないっていうか多分作る気そのものがないだろう
2022/12/30(金) 17:06:52.34ID:ZWv8elra
WinUIのGUIデザイナー作る予定あるの?
2022/12/30(金) 17:23:00.23ID:JZlTSo9Y
ホットリロードでガンバッテ
2022/12/30(金) 17:40:51.11ID:FEPbBD7R
winformsにwpfの見た目が使えれば最強じゃない?
602デフォルトの名無しさん
垢版 |
2022/12/30(金) 17:46:31.89ID:pHPBawyt
>>600
ホットリロードこそ必要
もちろん早いのが
2022/12/30(金) 18:06:35.05ID:DxA8xTti
>>596
おかしなところはあるけど、MSの開発環境は使いたい。
ということで、一番古いフレームワークを使ってる。
2022/12/30(金) 19:09:14.58ID:pzS4l1W1
>>596
プロジェクトunionってなんなん…なんなん…
605デフォルトの名無しさん
垢版 |
2022/12/30(金) 19:14:47.58ID:ZhOqacm+
りゅにおんじゃなかったっけ。
2022/12/30(金) 19:49:23.14ID:JZlTSo9Y
xamlは人間が書くものじゃないんだよ
書かせるにしても補完と予測とバインドコードとの対応付けを徹底的にエディタ上でサポートできるようにしてから
早くMSはそれに気づいてほしい
607デフォルトの名無しさん
垢版 |
2022/12/30(金) 19:56:28.98ID:ZhOqacm+
HTMLでUIを書くGoogleより良さげに思うのだが。
2022/12/30(金) 20:18:06.93ID:I9alFHtB
>>606
Bindingの記法はマジで酷い
補完も整形も参照もまともに働かないし独特すぎて覚えてもすぐ忘れる
流行らせる気あんのかあれ
2022/12/30(金) 21:19:15.00ID:ZWv8elra
なんだかんだいってもWindowsで作るならWPFだわ・・・
610デフォルトの名無しさん
垢版 |
2022/12/30(金) 21:27:31.50ID:hFdf8cae
WinUIの責任者にマスク氏を起用するべき
全員強制出社させてケツ叩きまくってもらいたい
2022/12/30(金) 21:30:37.10ID:FAf1Wf4r
カトラーはもう退職したんだろうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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