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/
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
カトラーはもう退職したんだろうか?
612デフォルトの名無しさん
垢版 |
2022/12/30(金) 23:17:59.50ID:ZhOqacm+
カトラーが禿げていたかどうか思い出せない。
2022/12/31(土) 00:03:13.69ID:/2nidRAX
>>611
>Windows NTの開発中、気に入らないことがあると壁を殴って穴をあけることもしばしばあった。
>そのため、ビル・ゲイツはマイクロソフトのオフィスの壁面が穴だらけになるのを恐れて、
>打放しコンクリートの部屋を多く用意した。

日本でこれをやると首ですねえ
614デフォルトの名無しさん
垢版 |
2022/12/31(土) 00:51:39.08ID:TeLjBPNY
力こそパワーだろが。
2022/12/31(土) 01:13:36.82ID:SInGgqlC
バリデーションを行うなら、IDataErrorInfoかValidationRulesしかない?
2022/12/31(土) 02:15:48.43ID:GBpTDcI1
>>613
外せない人材ならクビにならんよ
無能なら知らん
617デフォルトの名無しさん
垢版 |
2022/12/31(土) 02:22:39.58ID:TeLjBPNY
外せない人材なんていないよ。
618デフォルトの名無しさん
垢版 |
2022/12/31(土) 04:51:01.78ID:TeLjBPNY
影の支配者安倍晋三が居なくなっても何も変わらなかった。
2022/12/31(土) 08:32:20.93ID:mMd7om+i
>>617
いるぞw
2022/12/31(土) 13:53:39.17ID:oTYkEuS3
デザイナがないならホットリロードがあっても無意味なんだけど
2022/12/31(土) 13:57:10.47ID:IuH++inn
>>620
なぜ?
2022/12/31(土) 14:00:19.75ID:oTYkEuS3
自分でGridのコラムとか追加してんの?
2022/12/31(土) 14:00:50.47ID:eSFzX95Z
>>621
まういくんガチギレデクサ
2022/12/31(土) 14:01:55.87ID:oTYkEuS3
どの程度のレベルのアプリを作ってるのか知らない
デザイナが無くてもいいとか何作ってるのか気になる
2022/12/31(土) 14:16:50.07ID:bV/lqOzV
いや、ホットリロードが完璧に動くならデザイナーは不要だよ
完璧に動くならね
2022/12/31(土) 14:23:47.65ID:oTYkEuS3
Mauiの人には悪いけどNGにしてる
2022/12/31(土) 14:25:02.95ID:oTYkEuS3
>>625
ホットリロードとデザイナの役割が違うのはわかるかな?
2022/12/31(土) 14:33:42.31ID:m+kRFafv
xamlにもブレークポイント置けないの?
いつスタイルが適用されたかとかわからないと自分の作ったプログラム以外はメンテ大変そう
2022/12/31(土) 15:13:33.73ID:bV/lqOzV
>>627
初心者以外でマウスポチポチでUI作るやつなんかいないし
ホットリロードが完璧なら起動しながら編集確認できるからデザイナー見ること無いんだけど
2022/12/31(土) 15:15:43.30ID:IuH++inn
>>620
お前ホットリロードがどんなものか知らんだろw
631デフォルトの名無しさん
垢版 |
2022/12/31(土) 15:32:56.43ID:M0cu+f3g
>>629
だよな
2022/12/31(土) 16:20:56.42ID:2AJ3Rqth
マウスポチポチは重要だよ
無からキー打つのとは天地の差がある
初心者とか関係なく各アクションの初手が違う
2022/12/31(土) 16:22:38.82ID:UVi/2zXQ
xamlとポチポチは相性が悪い
2022/12/31(土) 16:25:04.72ID:/S1DtFmx
初心者ならマウスポチポチ大事
特に文系卒層ターゲットでよく売れるサービスになること間違いなし
経験者になれば過去のコードをコピペしてやりたいからマウスポチポチは時間の無駄
2022/12/31(土) 16:34:58.53ID:2AJ3Rqth
コピペするにしてもさ
階層化されたコントロールを選択して狙った場所をちょっと触ったりコードジャンプのアクセスに利用するわけよ
時間おいたコードとかでいちいち構造とか名前とか追いたくないんだ
2022/12/31(土) 16:36:52.02ID:oTYkEuS3
こういう自称屑どもの集まりなの?
xaml勢って?

そんなことないわな
2022/12/31(土) 16:37:25.19ID:2AJ3Rqth
まあデザイナとの違い言ってるのはストーリーボードとかパスとか別の次元の話だと思うけどね
2022/12/31(土) 16:38:01.10ID:V5Uy2KHk
>>633
いやむしろポチポチ前提で設計したからこうなったんだぞ
手書きでいいならクソ冗長なXMLを採用する必要なんかなくて簡易的な専用スクリプトやC#でよかったし、
HTMLとCSSのように見た目と論理構造を明確に分離できた
2022/12/31(土) 16:39:06.26ID:oTYkEuS3
じゃあお前らが言うにはこれからもXAMLデザイナはいらんわけだ
廃れるだけだと思うがなあ…
2022/12/31(土) 16:44:09.08ID:oTYkEuS3
>>625
とりあえず何度かアンカー飛ばしておこう
2022/12/31(土) 16:45:34.57ID:oTYkEuS3
もう一度 >>625
2022/12/31(土) 17:08:27.58ID:7u0hS8nU
とあるプロパティにxamlで値が設定されてるかどうかをコード上から判定したいんだけど、方法ありますか?
なんでそんなことをしたいかと言うと
xamlで値やBindingが設定されて無ければコード上で特定の値を設定するため
WPFのプロいない?
2022/12/31(土) 17:15:15.93ID:mMd7om+i
xmlとして解析するしかない
2022/12/31(土) 17:19:07.51ID:gCYW3fEI
デザイナーいらんよ
2022/12/31(土) 18:49:56.12ID:ANbm0fWN
今ってポトペタでデザインするフレームワークあるの?
Windows以外で
2022/12/31(土) 19:31:50.04ID:Wrtrkox0
むしろandroidもxcodeも過去のwinformwpfですら対応してるというのに
2022/12/31(土) 19:49:12.81ID:tl6LrbQ7
>>638
csコードのままポトペタ実現してたWinFormsという実例があるのに何ってんだ?
2022/12/31(土) 19:51:49.26ID:bV/lqOzV
>>641
哀れだねぇ
2022/12/31(土) 20:18:00.32ID:oTYkEuS3
>>648
現実を見ようよw

各陣営どうやって開発者を増やしていくかと言うのが一番の課題なのに
俺が使えるからデザイナいらねえって言ってる馬鹿がお前なんだけど
650デフォルトの名無しさん
垢版 |
2022/12/31(土) 20:42:16.08ID:Yb1sr/BZ
デザイナで調整することなんてあるのか?
XAML触ったほうがよくないか?
2022/12/31(土) 20:55:46.70ID:tyrVnINI
WinUIってデザイナはBlend使うんじゃないの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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