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/
WPF(.NET, WinUI) GUIプログラミング Part30
■ このスレッドは過去ログ倉庫に格納されています
2022/10/29(土) 11:34:34.12ID:OGteGRtm
202デフォルトの名無しさん
2022/11/13(日) 04:37:56.81ID:BsOFUxPA 絵に描いた餅だろ
203デフォルトの名無しさん
2022/11/13(日) 09:39:55.13ID:2jgXqyDd なんで唐突にテスト駆動開発なんて話が?
GUIに対してはなかなか難しいと思うが。
GUIに対してはなかなか難しいと思うが。
204デフォルトの名無しさん
2022/11/13(日) 10:23:16.61ID:dnh5T98N MVVMを採用するメリットはテスト駆動開発だから、それをしないのに採用する意味はあるのかな、と思って
205デフォルトの名無しさん
2022/11/13(日) 10:26:27.45ID:2jgXqyDd テストしやすいってのとテスト駆動開発はまた違う話だぞ?
206デフォルトの名無しさん
2022/11/13(日) 11:18:11.03ID:TCbRukL6 react側から見るとしづらい方ですかね
207デフォルトの名無しさん
2022/11/13(日) 17:56:04.29ID:7K/NPeS8 WinUIだが、TemplateStudioが作ってくれる雛形のWindowがサードパーティー製のWinUIExに置き換わった
これでWindowの位置と場所をキープしてくれるし、スプラッシュスクリーンもサポートしているようだ
スプラッシュの方はこれから見てみるわ
これでWindowの位置と場所をキープしてくれるし、スプラッシュスクリーンもサポートしているようだ
スプラッシュの方はこれから見てみるわ
208デフォルトの名無しさん
2022/11/13(日) 21:04:37.19ID:KxltdXvH reactの場合はビューがDOMを生成する関数だから、ビューについても簡単にテスト書けるんだよね
WPFで複雑なバインディングをやるとビューの手動テストはそれなりに大変になる
WPFでビューの自動テストをやろうとするとUIオートメーション使うことになるから流石に大袈裟すぎて非現実的だよね
WPFで複雑なバインディングをやるとビューの手動テストはそれなりに大変になる
WPFでビューの自動テストをやろうとするとUIオートメーション使うことになるから流石に大袈裟すぎて非現実的だよね
209デフォルトの名無しさん
2022/11/13(日) 21:18:59.25ID:2jgXqyDd >WPFでビューの自動テストをやろうとするとUIオートメーション使うことになるから流石に大袈裟すぎて非現実的だよね
オートメーションが必要なのはUIコンポーネントが内部状態を持ってしまっているFormsまでの話で、
MVVMの場合はプレゼンテーションロジックを全部VM側に持っているからそこのテストで
UIフレームワークを叩く必要がないというのが利点なわけだが。
オートメーションが必要なのはUIコンポーネントが内部状態を持ってしまっているFormsまでの話で、
MVVMの場合はプレゼンテーションロジックを全部VM側に持っているからそこのテストで
UIフレームワークを叩く必要がないというのが利点なわけだが。
210デフォルトの名無しさん
2022/11/13(日) 21:24:43.10ID:KxltdXvH >>209
Vからロジックを分離してロジックのみを単体テストできるのは当然Reactも同じ
その上でVの単体テストやインテグレーションテストをする場合の話をしてる
あと、Reactの場合は仮にVからロジックを分離しないことを選択したとしても自動テストは比較的容易だ
Vからロジックを分離してロジックのみを単体テストできるのは当然Reactも同じ
その上でVの単体テストやインテグレーションテストをする場合の話をしてる
あと、Reactの場合は仮にVからロジックを分離しないことを選択したとしても自動テストは比較的容易だ
211デフォルトの名無しさん
2022/11/13(日) 21:29:43.31ID:pp5TDwJ0212デフォルトの名無しさん
2022/11/13(日) 22:19:25.39ID:2jgXqyDd >インテグレーションテストをする場合の話をしてる
Reactの場合でもそれはselenium使ったテストとかやらん?
Reactの場合でもそれはselenium使ったテストとかやらん?
213デフォルトの名無しさん
2022/11/13(日) 22:31:21.25ID:2jgXqyDd あと、
「WPFは非現実的」
「そんなことない」
「Reactすごい」←話が繋がってないw
「WPFは非現実的」
「そんなことない」
「Reactすごい」←話が繋がってないw
214デフォルトの名無しさん
2022/11/13(日) 23:07:14.52ID:1gqKHkfA >>208
異常に面倒ですからねwpfのは
異常に面倒ですからねwpfのは
215デフォルトの名無しさん
2022/11/13(日) 23:25:16.64ID:pp5TDwJ0216デフォルトの名無しさん
2022/11/13(日) 23:34:14.97ID:TdMl1FC3 なんでVとVMって分かれてるんだろう
ロジックなんてMに書くからVとVMが分かれてる必要性ないと思うんだけど
ロジックなんてMに書くからVとVMが分かれてる必要性ないと思うんだけど
217デフォルトの名無しさん
2022/11/13(日) 23:53:19.25ID:pp5TDwJ0 >>216
Vを抽象化したものがVMと書いただろ?
VMのプロパティに文字列を入れるのはVのテキストボックスに文字列を入れるのと同じことでVMのコマンドを実行することはVのボタンを押すことと同じなんだよ
VMにVの装飾以外の機能を移せばVはViewModelという名のModelになれる
Modelだから簡単なテストで性能を担保できるしコンパイルも早い
いちいちソース書き換えてデバッグ実行してテキストボックスに文字列書き込んでボタン押す作業を繰り返さなくても数行のテストコードで同じことが確かめられるから開発時間が大幅に短縮できる
短縮できないとしたらやり方が間違ってる
Vを抽象化したものがVMと書いただろ?
VMのプロパティに文字列を入れるのはVのテキストボックスに文字列を入れるのと同じことでVMのコマンドを実行することはVのボタンを押すことと同じなんだよ
VMにVの装飾以外の機能を移せばVはViewModelという名のModelになれる
Modelだから簡単なテストで性能を担保できるしコンパイルも早い
いちいちソース書き換えてデバッグ実行してテキストボックスに文字列書き込んでボタン押す作業を繰り返さなくても数行のテストコードで同じことが確かめられるから開発時間が大幅に短縮できる
短縮できないとしたらやり方が間違ってる
218デフォルトの名無しさん
2022/11/14(月) 00:05:00.33ID:PgYCwlwQ 本来INotifyPropartyChangedはVMだけに設定して、VMはVから来た命令に従ってMに司令を出して
Mが完了したら自分のPropertyなどを更新してVに通知するからですね
でも、可也面倒だからMにInotfy・・・なプロパティーをMに設置するからVMはVにリレーするだけにしたりしているから
VMの役割が半分を端折ることが多いので無駄に見えてくるね
Mが完了したら自分のPropertyなどを更新してVに通知するからですね
でも、可也面倒だからMにInotfy・・・なプロパティーをMに設置するからVMはVにリレーするだけにしたりしているから
VMの役割が半分を端折ることが多いので無駄に見えてくるね
219デフォルトの名無しさん
2022/11/14(月) 00:32:06.18ID:svXfhy4i220デフォルトの名無しさん
2022/11/14(月) 00:38:25.53ID:0RxMnhmu >>217
そのテストコードを書くより画面で入力した方が楽じゃない?
テストコードがちゃんと書けてるかもテストしないといけないし。
どれくらいの回数のテストするかによるかもしれないけど、そういう特殊なケース以外でのメリットがわからない。
そのテストコードを書くより画面で入力した方が楽じゃない?
テストコードがちゃんと書けてるかもテストしないといけないし。
どれくらいの回数のテストするかによるかもしれないけど、そういう特殊なケース以外でのメリットがわからない。
221デフォルトの名無しさん
2022/11/14(月) 00:42:59.00ID:IdOGQmNP あと、Vのコントロールで参照したいプロパティの数だけVMにもプロパティを作ってはバインドするのが辛い
VMでコントロールを参照できれば簡単だけど、それだと理念に反する感じもするし…
VMでコントロールを参照できれば簡単だけど、それだと理念に反する感じもするし…
222デフォルトの名無しさん
2022/11/14(月) 02:19:45.52ID:HDY6oj/W まあアホに何言っても無駄だから自分の信じるやり方でゴミを作ればいんじゃね
223デフォルトの名無しさん
2022/11/14(月) 05:40:27.75ID:YYO5Hrl+ ↑自分がそのアホだと気付いていないアホ
224デフォルトの名無しさん
2022/11/14(月) 06:15:26.54ID:osaHTAYz テストが一回きりなら手動の方が早いだろうな
225デフォルトの名無しさん
2022/11/14(月) 07:20:40.36ID:zeNxJ9gL この手のやつは半信半疑ながらも自分で手を動かして実践しないと理解できなかったりする
226デフォルトの名無しさん
2022/11/14(月) 07:34:36.07ID:ok27TY1c WPFやWinUI3の標準テンプレートってどれよ? PrismやCommunityKitなどいろいろあってわかんなーい。
CommunityKitでDependencyInjecttionとHostingをNuGet導入するあたりが標準なのかしら?
CommunityKitでDependencyInjecttionとHostingをNuGet導入するあたりが標準なのかしら?
227.NET MAUI HighSchool
2022/11/14(月) 07:45:50.17ID:p8dKwuQs 最近はCommunityToolKit何じゃないかぁ???
228デフォルトの名無しさん
2022/11/14(月) 07:57:38.88ID:TzpWDTj0 VSにTemplate Studioという拡張を導入してプロジェクトの雛形を作る
https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs
基本はCommunityToolkitだが、不足しているものをコード自動生成してくれるし最小限のNugetも導入してくれる
https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs
基本はCommunityToolkitだが、不足しているものをコード自動生成してくれるし最小限のNugetも導入してくれる
229デフォルトの名無しさん
2022/11/14(月) 11:51:13.81ID:EWF0SvAn >>216
MVCという言葉を使いたくなかっただけ
MVCという言葉を使いたくなかっただけ
230デフォルトの名無しさん
2022/11/14(月) 13:31:55.51ID:u/Tvru9y >>224
全部作り終わってから一回だけテストすることが許されてる環境とか嫌すぎる
全部作り終わってから一回だけテストすることが許されてる環境とか嫌すぎる
231デフォルトの名無しさん
2022/11/14(月) 13:34:53.19ID:u/Tvru9y >>221
動作に必要なプロパティがそんなたくさんあるとかおかしいんじゃね
動作に必要なプロパティがそんなたくさんあるとかおかしいんじゃね
232デフォルトの名無しさん
2022/11/14(月) 13:34:59.86ID:mrCA5Qrf あるボタンが押されたら他のあるボタンが押せなくなるみたいな簡単なロジックのやつは、xamlでコントロール同士をバインディングしているのですが、これはそうせずにCSでプロパティ変更のコードを書いた方がいいのでしょうか
233デフォルトの名無しさん
2022/11/14(月) 13:43:21.84ID:hyabTMwB >>232
あるボタンにVMのコマンドをバインドする
VMはそのコマンドが実行されると自身のIsOtherButtonEnabledプロパティ(このプロパティは自分で作る)をtrueにする
他のボタンのIsEnabledプロパティを全てこのIsOtherButtonEnabledプロパティにバインドする
これであるボタンが押されると他のボタンが押せなくなる
あるボタンにVMのコマンドをバインドする
VMはそのコマンドが実行されると自身のIsOtherButtonEnabledプロパティ(このプロパティは自分で作る)をtrueにする
他のボタンのIsEnabledプロパティを全てこのIsOtherButtonEnabledプロパティにバインドする
これであるボタンが押されると他のボタンが押せなくなる
234デフォルトの名無しさん
2022/11/14(月) 13:44:15.94ID:hyabTMwB235デフォルトの名無しさん
2022/11/14(月) 22:04:24.32ID:aaTBlyIu236.NET MAUI HighSchool
2022/11/14(月) 22:06:34.12ID:p8dKwuQs ロジックはVMに書く
たしかに最初は間違って覚えちゃうよな
俺もそうだった
モデルは情報を持つだけ
たしかに最初は間違って覚えちゃうよな
俺もそうだった
モデルは情報を持つだけ
237デフォルトの名無しさん
2022/11/14(月) 22:10:06.97ID:b4FWDRLa 勘違いではないでしょ
もしかしてVMで直接リポジトリを触ったりしちゃってる?
もしかしてVMで直接リポジトリを触ったりしちゃってる?
238.NET MAUI HighSchool
2022/11/14(月) 22:11:49.45ID:p8dKwuQs そういえば今日
BindingContext=this;でそのページ上、画面上にあるプロパティ全てBindingできるコンテンツとして扱えるということを勉強したこれよいね
BindingContext=this;でそのページ上、画面上にあるプロパティ全てBindingできるコンテンツとして扱えるということを勉強したこれよいね
239.NET MAUI HighSchool
2022/11/14(月) 22:14:11.99ID:p8dKwuQs240デフォルトの名無しさん
2022/11/14(月) 22:40:55.53ID:b4FWDRLa MV*系のアーキテクチャでいうMはビューの上位に存在するもの全般を指しているのだけど、
モデルという言葉のせいでデータモデルとかドメインモデルなんかと混同しやすいんだよね
本来的にはそれらを弄くり回すのは「サービス」層の仕事で、VMの仕事はサービスに処理を投げて結果を反映するだけだ
モデルという言葉のせいでデータモデルとかドメインモデルなんかと混同しやすいんだよね
本来的にはそれらを弄くり回すのは「サービス」層の仕事で、VMの仕事はサービスに処理を投げて結果を反映するだけだ
241.NET MAUI HighSchool
2022/11/14(月) 23:07:12.03ID:p8dKwuQs242デフォルトの名無しさん
2022/11/14(月) 23:15:51.49ID:aaTBlyIu >>236
ロジックはMVCどこにでも書くだろう。ビジネスロジックだけがロジックってわけじゃない。
ロジックはMVCどこにでも書くだろう。ビジネスロジックだけがロジックってわけじゃない。
243デフォルトの名無しさん
2022/11/14(月) 23:16:37.69ID:aaTBlyIu244デフォルトの名無しさん
2022/11/15(火) 07:30:18.11ID:TYbL5LNK MVVMでDDD するとしたらどこにアプリケーション層やらドメイン層を置くの
245デフォルトの名無しさん
2022/11/15(火) 08:17:54.90ID:oaKUlL5c どっちっもMじゃね?
246デフォルトの名無しさん
2022/11/15(火) 14:19:21.05ID:Lk8Tc52e >>233
ありがとうございます。そのように変更してみます
ありがとうございます。そのように変更してみます
247デフォルトの名無しさん
2022/11/15(火) 18:50:53.84ID:9/ARJaEi WinUI 3 Galleryが更新されてた
248デフォルトの名無しさん
2022/11/15(火) 18:55:38.96ID:fFtAGper メディアプレイヤーエレメント来てるねぇ
そういえばMAUIでも使えるようになるんだ(まだプレビュー)
そういえばMAUIでも使えるようになるんだ(まだプレビュー)
249デフォルトの名無しさん
2022/11/15(火) 18:59:44.05ID:fFtAGper 全体的にUpdateされたみたいね
250デフォルトの名無しさん
2022/11/15(火) 19:04:44.40ID:fFtAGper Windows10だからシステムバックドロップスのMicaやAcrylicがわからん…
251デフォルトの名無しさん
2022/11/15(火) 22:06:07.59ID:o0cMt8HV MVVM使うような巨大アプリは扱わんだろうなぁ。
252デフォルトの名無しさん
2022/11/15(火) 22:50:08.95ID:iGLqmck8 メディアプレーヤーちょっと触ってみたけど
ビデオ画面のフルスクリーンが出来ないのが残念だったわ
プロパティーあるからそのうち実装されるんだろうが
ビデオ画面のフルスクリーンが出来ないのが残念だったわ
プロパティーあるからそのうち実装されるんだろうが
253デフォルトの名無しさん
2022/11/15(火) 23:30:39.77ID:fFtAGper そういえばこれと同じようなソフトでCommunityToolkitSampleAppもあるけどみんな使ってる?
色々コントロールあってWinUIでも色々できるんだなぁってなった
色々コントロールあってWinUIでも色々できるんだなぁってなった
254デフォルトの名無しさん
2022/11/15(火) 23:33:13.02ID:fFtAGper255デフォルトの名無しさん
2022/11/16(水) 02:12:36.05ID:F1FwASBt そういえばこういうToolkit Sample AppみたいにXAML変えたら勝手にViewも変わるようにするにはどうすればいいんだろうか?
.NET MAUIとかで同じようなアプリ作りたい
.NET MAUIとかで同じようなアプリ作りたい
256デフォルトの名無しさん
2022/11/16(水) 16:06:10.44ID:31Oci6nz VSのWindowsAppSDKでページやユーザーコントロールの新規ファイルを作るとSJISコードで作っちまうようだ
Xamlで文字化けが起こった時はサクラエディタなどでUTF8 BOM付きに変換すれば治る
Xamlで文字化けが起こった時はサクラエディタなどでUTF8 BOM付きに変換すれば治る
257デフォルトの名無しさん
2022/11/17(木) 06:38:43.37ID:edZsLEUo258デフォルトの名無しさん
2022/11/17(木) 17:13:44.56ID:IkDUYkmL WinUI Template使ったら凄いでちゅね。 Blankでもあれよあれよとフォルダーだらけ。
MSTestまで追加されている。
とりあえず構成として足りないNuGetはMicrosoft.Extensions.DependencyInjectionぐらい。
App1.Coreライブラリブロジェクトは不要なので削除して、App1.DomainライブラリプロジェクトとApp1.Infrastructureライブラリプロジェクトは追加したが、
こんなのに初心者が付いてこれるのかね?
MSTestまで追加されている。
とりあえず構成として足りないNuGetはMicrosoft.Extensions.DependencyInjectionぐらい。
App1.Coreライブラリブロジェクトは不要なので削除して、App1.DomainライブラリプロジェクトとApp1.Infrastructureライブラリプロジェクトは追加したが、
こんなのに初心者が付いてこれるのかね?
259デフォルトの名無しさん
2022/11/17(木) 17:20:59.19ID:bRe6n69U 最悪MSやパートナーに相談してくれりゃいいというスタンスなんでしょ
WinUIなんて、どうせ使うのはMSのエンタープライズサポートが付いてる高級客くらいなんだから
WinUIなんて、どうせ使うのはMSのエンタープライズサポートが付いてる高級客くらいなんだから
260デフォルトの名無しさん
2022/11/17(木) 17:48:44.99ID:IkDUYkmL >>259
まぁ もう販促の時代では無いとしているんだろうが、
バリデーションやエレメントEnabledコンディションのUIロジックと単位やファインナンスルール等をドメインに入れるアーキテクチァーロジックとの区別ができない奴がVMにもロジックがあると言っているこのスレ見れば、
もう少し、DellphiなどのRAD時代のようなTemplateを用意しても良いとはオモ。
全体のTemplateをみる限り、八方ふさがりが多い。
まぁ もう販促の時代では無いとしているんだろうが、
バリデーションやエレメントEnabledコンディションのUIロジックと単位やファインナンスルール等をドメインに入れるアーキテクチァーロジックとの区別ができない奴がVMにもロジックがあると言っているこのスレ見れば、
もう少し、DellphiなどのRAD時代のようなTemplateを用意しても良いとはオモ。
全体のTemplateをみる限り、八方ふさがりが多い。
261.NET MAUI HighSchool
2022/11/17(木) 19:14:41.39ID:iKwqu8K0 >>258
テンプレートスタジオのじゃなくて既成のやつ?
テンプレートスタジオのじゃなくて既成のやつ?
262デフォルトの名無しさん
2022/11/19(土) 02:17:21.47ID:CL48cSEB 既存のWPFのプロジェクトでWinUIのコントロールを使うことってできませんか?
263デフォルトの名無しさん
2022/11/19(土) 07:41:53.45ID:0mattRbK xaml islands?
.net core3じゃないと使えないと聞いたけど
.net core3じゃないと使えないと聞いたけど
264.NET MAUI HighSchool
2022/11/19(土) 08:09:34.03ID:BTXZ3B+x たしかにWPFでWinUI3のコントロール使えたら最強だわなw
普段と何も変わらず見た目だけおしゃれにできる
普段と何も変わらず見た目だけおしゃれにできる
265デフォルトの名無しさん
2022/11/20(日) 14:23:46.53ID:4TEpIoUs datagrid内のtextblockのmaxlengthを設定する方法はありますでしょうか。現在は入力されたらcelleditイベントで飛ばしてパンドラ側でtextをバインドしたコレクションの文字数を調べて上限を超えていたら、上限超過文字をカットしてコレクションに入れ直しています。そもそもtextblockで上限文字以上を受け付けない方法に変えたいです。
datadrd内のtextboxをダブルクリックで編集メードにする方法はありますでしょうか。こちらであればmaxlengthを設定できるので、上記のような問題は出ないのですが、ワンクリックで選択したらいきなり編集モードになってしまい、それは避けたいというところです。
どうぞよろしくお願いいたします。
datadrd内のtextboxをダブルクリックで編集メードにする方法はありますでしょうか。こちらであればmaxlengthを設定できるので、上記のような問題は出ないのですが、ワンクリックで選択したらいきなり編集モードになってしまい、それは避けたいというところです。
どうぞよろしくお願いいたします。
266デフォルトの名無しさん
2022/11/20(日) 17:52:21.57ID:b1CRB9CX ここに質問しても禄に回答なんてないよ。そんなレベルだから。ま、自分もそうだがw
ヤフー知恵袋などの方が良い。
ヤフー知恵袋などの方が良い。
267デフォルトの名無しさん
2022/11/20(日) 21:54:33.51ID:sZw8WIOe >>265
DataGridTemplateColumn じゃあかんのか?
DataGridTemplateColumn じゃあかんのか?
268デフォルトの名無しさん
2022/11/20(日) 22:05:41.15ID:oLom3qzC269デフォルトの名無しさん
2022/11/21(月) 04:36:19.56ID:6Crx1mAE ありがとうございます。スタックフローにある通り、以下の構成でダブルクリック編集ができました。
<DataGridTextColumn
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox" x:Name="name"
しかし、x:Nameによる操作がcsコード側でコントロールできないのですが、何か方法はありますでしょうか。
(name.MaxLength=50とかがnameが認識できないエラーになる)
質問ばかりですみません。よろしくお願いします。
<DataGridTextColumn
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox" x:Name="name"
しかし、x:Nameによる操作がcsコード側でコントロールできないのですが、何か方法はありますでしょうか。
(name.MaxLength=50とかがnameが認識できないエラーになる)
質問ばかりですみません。よろしくお願いします。
270デフォルトの名無しさん
2022/11/21(月) 05:22:32.76ID:jDeUVvYe Styleを学んでください
271.NET MAUI HighSchool
2022/11/21(月) 09:22:55.00ID:DkIa5QxJ DataGridColumnにx:Nameだね
272デフォルトの名無しさん
2022/11/21(月) 14:40:33.74ID:6Crx1mAE ありがとうございます。以下のコードで設定できました。
皆さんはどの本でxamlとかwpfを勉強しましたか??いいのが見つからなくて困っています
xaml
<DataGridTextColumn x:Name="name"
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox"
C#
name.EditingElementStyle.Setters.Add(new Setter(TextBox.MaxLengthProperty, 100));
皆さんはどの本でxamlとかwpfを勉強しましたか??いいのが見つからなくて困っています
xaml
<DataGridTextColumn x:Name="name"
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox"
C#
name.EditingElementStyle.Setters.Add(new Setter(TextBox.MaxLengthProperty, 100));
273.NET MAUI HighSchool
2022/11/21(月) 14:58:20.08ID:DkIa5QxJ ネット記事
274デフォルトの名無しさん
2022/11/21(月) 16:20:08.58ID:jmXTqtKS Microsoft Learn
https://learn.microsoft.com/ja-jp/
https://learn.microsoft.com/ja-jp/
275.NET MAUI HighSchool
2022/11/21(月) 16:25:49.21ID:DkIa5QxJ クソ古いけどこういうちゃんとした専門家が連載記事書いてるところは参考にしてた
https://atmarkit.itmedia.co.jp/ait/subtop/features/dotnet/app/spv/introwpf_index.html
https://atmarkit.itmedia.co.jp/ait/subtop/features/dotnet/app/spv/introwpf_index.html
276デフォルトの名無しさん
2022/11/21(月) 16:55:47.51ID:KDDXOYAA277デフォルトの名無しさん
2022/11/25(金) 18:36:20.43ID:+fM36QUo XAML Stylerっていう拡張機能は便利だな
しっかり整うから無駄な時間が減る
しっかり整うから無駄な時間が減る
278.NET MAUI HighSchool
2022/11/25(金) 20:27:51.26ID:SQhAXb/D279デフォルトの名無しさん
2022/11/26(土) 11:06:15.13ID:1ldKsJnP 縦に長くなるのは避けたいんだよな
最低限x:Nameはタグと同じラインにしてほしいな
普段はタグとタグ名だけ表示してクリックしたら詳細が出るほうがいいんだけど
最低限x:Nameはタグと同じラインにしてほしいな
普段はタグとタグ名だけ表示してクリックしたら詳細が出るほうがいいんだけど
280.NET MAUI HighSchool
2022/11/26(土) 11:54:12.22ID:Ja07f46G >>279
そういうのってこのアドインで調整できるんじゃねぇの?
そういうのってこのアドインで調整できるんじゃねぇの?
281.NET MAUI HighSchool
2022/11/26(土) 15:17:01.29ID:Ja07f46G ツールタブの一番下にあるオプションにXAML Stylerの項目追加されてたからそこで設定するみたいだぞ
https://imgur.com/gQ0NS2w.jpg
これはどの項目をどの順番に並べるかを指定するところだと思われる
x:Classが最上位か、、、
このへんで一番上の物は改行しないとか指定できるんじゃね?
下のボックスに説明あるけど英語だからわがんね
https://imgur.com/gQ0NS2w.jpg
これはどの項目をどの順番に並べるかを指定するところだと思われる
x:Classが最上位か、、、
このへんで一番上の物は改行しないとか指定できるんじゃね?
下のボックスに説明あるけど英語だからわがんね
282デフォルトの名無しさん
2022/11/27(日) 00:08:16.49ID:b0dtQ2k7 コードビハインドに記述したプロパティをバインドすることってできますか?
283デフォルトの名無しさん
2022/11/27(日) 01:11:29.44ID:VXCnX9/B コンストラクタで
DataContext=this;
ってやれば動きそうだけどやったことねーな
DataContext=this;
ってやれば動きそうだけどやったことねーな
284.NET MAUI HighSchool
2022/11/27(日) 01:26:28.71ID:YoYicuFz285.NET MAUI HighSchool
2022/11/27(日) 01:27:38.96ID:YoYicuFz thisってやったらページのプロパティ全てBindingContextになるな
286.NET MAUI HighSchool
2022/11/27(日) 01:29:49.63ID:YoYicuFz そのプロパティだけバインドさせたいってだけならBindingContext=プロパティ名にして
XAMLのところで{Binding プロパティ名でいける}
オブジェクトの中のプロパティを使いたい場合は{Binding オブジェクト名.プロパティ名でいけたわ}
XAMLのところで{Binding プロパティ名でいける}
オブジェクトの中のプロパティを使いたい場合は{Binding オブジェクト名.プロパティ名でいけたわ}
287デフォルトの名無しさん
2022/11/27(日) 17:09:02.91ID:zizz/yv+ 質問がざっくりし過ぎなんだ
仮に自前のUserControlにプロパティを作ってそれをバインディングできますかだとして
それが中に向けてなのか外に向けてなのかも不明
自作コントロールがあって外部向けにTextプロパティ作ってそれが中のlabelのプロパティにバインドとか言う感じに見える
仮に自前のUserControlにプロパティを作ってそれをバインディングできますかだとして
それが中に向けてなのか外に向けてなのかも不明
自作コントロールがあって外部向けにTextプロパティ作ってそれが中のlabelのプロパティにバインドとか言う感じに見える
288デフォルトの名無しさん
2022/11/27(日) 20:04:48.27ID:j+2lOx/H289デフォルトの名無しさん
2022/11/28(月) 10:46:08.62ID:Agm2AJo1 >>288
OneWayのみでいいなら、BindingProxyが使えるよ。 MAUIではFreezable classを自分で書くことになるけど。
DataContextをビハインド設定でBindingProxyでViewModelその他とか・・・
OneWayのみでいいなら、BindingProxyが使えるよ。 MAUIではFreezable classを自分で書くことになるけど。
DataContextをビハインド設定でBindingProxyでViewModelその他とか・・・
290デフォルトの名無しさん
2022/12/01(木) 18:01:03.73ID:UaT6Ju5t DapperのQueryでとったデータ(dynamic型)をそのまま
DataGrid(wpf)につっこむと列がダブってしまうんですが
なにか楽チンな対処法はありませんか?
DataGrid(wpf)につっこむと列がダブってしまうんですが
なにか楽チンな対処法はありませんか?
291デフォルトの名無しさん
2022/12/01(木) 20:09:52.70ID:MXBkvJK6 >>290
DISTINCT
DISTINCT
292デフォルトの名無しさん
2022/12/02(金) 00:12:35.02ID:Bt79K2Bt webみたいに疑似的にモーダルダイアログを出すのってどう思う?
素直にモーダルダイアログ出しとけって感じ?
素直にモーダルダイアログ出しとけって感じ?
293デフォルトの名無しさん
2022/12/02(金) 10:46:22.91ID:CQhUYfnN ContentDialogのことなんだろうが、稀に発生するダイアログが画面の裏に表示されて押せなくなるということが物理的にないだけでも優秀だ
294デフォルトの名無しさん
2022/12/02(金) 10:52:18.01ID:F90iWgnv295デフォルトの名無しさん
2022/12/08(木) 19:39:15.92ID:7sx7/7eA メニューとかを付けたWindowに画面の中身を定義したユーザーコントロールを追加したいんですが、どのようにするのがスマートですかね?
無難にWindowの一番下のGridのChildrenにAddするのがいいんですかね?
無難にWindowの一番下のGridのChildrenにAddするのがいいんですかね?
296デフォルトの名無しさん
2022/12/09(金) 09:42:01.65ID:6fkte2jG ContentControl
297デフォルトの名無しさん
2022/12/09(金) 16:29:47.92ID:itlB2FBH WPFのXAMLで、部品の幅や高さを「残り画面いっぱい」にする方法ってありますか?
Androidのxmlでいうところの、fill_parentに相当する物を教えてください
Androidのxmlでいうところの、fill_parentに相当する物を教えてください
298.NET MAUI HighSchool
2022/12/09(金) 16:50:43.95ID:gQLJ96r5299デフォルトの名無しさん
2022/12/09(金) 17:22:28.18ID:itlB2FBH 言葉足らずですいません
Grid.RowDefinitionsやGroupBoxの中だからか、Stretchでは追従してくれませんでした
Grid.RowDefinitionsやGroupBoxの中だからか、Stretchでは追従してくれませんでした
300.NET MAUI HighSchool
2022/12/09(金) 17:38:20.80ID:kAYpLKl/ じゃあそのグリッドやグループボックスのアラインメントをストレッチにすればいいのでは?
301デフォルトの名無しさん
2022/12/09(金) 17:40:46.95ID:6wQe2Y2i■ このスレッドは過去ログ倉庫に格納されています
