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
118デフォルトの名無しさん
2022/11/04(金) 20:19:58.46ID:RBTLkTQo 誰に聞いたんだか知らんがまあ自分で作ればできるっちゃできる
そもそも違うものなのになぜ同じだと思ったんだろ
そもそも違うものなのになぜ同じだと思ったんだろ
119デフォルトの名無しさん
2022/11/05(土) 08:10:09.51ID:eN0ov2nj Winformsの後発なんだから今まであった便利なものは継承するのが普通。
120デフォルトの名無しさん
2022/11/05(土) 08:35:10.98ID:zg6rbg9v 便利ではないからな
UI Automationというもっと便利なものが使えるからそれを使え
UI Automationというもっと便利なものが使えるからそれを使え
121デフォルトの名無しさん
2022/11/05(土) 14:13:04.79ID:SYLf/HEa122デフォルトの名無しさん
2022/11/05(土) 14:23:18.30ID:kGw8yk2y そもそもViewとロジックが疎結合だから、SendKeysみたいな姑息なことをやる必要がないだろ
設計を見直すいい機会だから頑張れというほかない
設計を見直すいい機会だから頑張れというほかない
123デフォルトの名無しさん
2022/11/05(土) 15:21:55.89ID:cOfvjAsq viewとviewModelを素結合にようという
発想そのものが諸悪の根元
発想そのものが諸悪の根元
124デフォルトの名無しさん
2022/11/05(土) 18:32:23.25ID:eN0ov2nj 業務アプリってのは姑息なやり方も必要なんだな。
125デフォルトの名無しさん
2022/11/05(土) 19:00:07.74ID:FvU7hIRr 仕様がレガシーだとそういうこともあるけど、
そんなもん蹴って作り直した方が色々捗るぞ
そんなもん蹴って作り直した方が色々捗るぞ
126デフォルトの名無しさん
2022/11/05(土) 20:06:45.45ID:yxkEcNx6 それが簡単に出来るならみんなそうしてるわけで...
作った人がいるならまだしももう退職しました~なんてコードを調べて手直しなんてやる工数も期間もないのがほとんどだし
作った人がいるならまだしももう退職しました~なんてコードを調べて手直しなんてやる工数も期間もないのがほとんどだし
127デフォルトの名無しさん
2022/11/05(土) 20:18:37.08ID:kGw8yk2y それでもWinFormsからWPFに乗り換えるタイミングなら少しは手間かけてもいいんじゃないかな?
COBOL時代のロジックが残っていたりすると殺意を覚える
COBOL時代のロジックが残っていたりすると殺意を覚える
128デフォルトの名無しさん
2022/11/05(土) 22:39:53.01ID:mkdD7RbX ユーザー子会社にいた事あったけど、基本的にみんな勉強とかしないから指示されたコードしか書けなかったな
下手に最新のフレームワークとかデザインパターン導入したら理解できなくて適当に書かれて終わる
下手に最新のフレームワークとかデザインパターン導入したら理解できなくて適当に書かれて終わる
129デフォルトの名無しさん
2022/11/05(土) 22:46:11.02ID:zg6rbg9v 勝手に導入したらそらそうなるわ
導入する前にみんなで勉強会するんだぞ
導入する前にみんなで勉強会するんだぞ
130デフォルトの名無しさん
2022/11/05(土) 23:07:41.83ID:WaJWpX/F その会社には勉強会という文化はなかったな
ちょっと気になったけど、勉強会って業務時間中にやるの?
ちょっと気になったけど、勉強会って業務時間中にやるの?
131デフォルトの名無しさん
2022/11/05(土) 23:17:26.78ID:yxkEcNx6 >>130
そりゃ業務のための勉強だから業務の一部だよ
そりゃ業務のための勉強だから業務の一部だよ
132デフォルトの名無しさん
2022/11/05(土) 23:51:37.49ID:E55KL9NL 勉強会とそのための準備の時間って貰えるもんなんだな
みんないい会社に勤めてそうだわ
みんないい会社に勤めてそうだわ
133デフォルトの名無しさん
2022/11/06(日) 06:55:15.36ID:R9xNZ21A134デフォルトの名無しさん
2022/11/06(日) 09:20:15.40ID:Rn36JAlA 勝手に開催するやつは文化に組み込まれてないと難しいとは思うけど、
そうじゃなくてもフレームワーク変更にメリットがあって、ちょっと勉強が必要というなら、
説明資料つくれば業務時間内にやる許可取れると思うで。
そうじゃなくてもフレームワーク変更にメリットがあって、ちょっと勉強が必要というなら、
説明資料つくれば業務時間内にやる許可取れると思うで。
135デフォルトの名無しさん
2022/11/06(日) 21:59:47.93ID:SHLZopS4 >>133
ブラック臭いけど、以外と一部上場とかでそういうセコいところあるよな
ブラック臭いけど、以外と一部上場とかでそういうセコいところあるよな
136デフォルトの名無しさん
2022/11/06(日) 23:10:33.70ID:L+smrKSs サービス残業ってことになると本当にやる気のある人がいないと、なかなか難しそう
そういう人ってその会社見切って転職するイメージあるな
そういう人ってその会社見切って転職するイメージあるな
137デフォルトの名無しさん
2022/11/07(月) 15:33:20.29ID:QCbpxt0g TabControlの名前をXAMLでResources.resxで変えたいのですが、以下のエラーが出ます。
エラーコードでググっても解決策が見当たらなかったのですが、Headerに直接Resources.resxを指定しているのが間違っているのでしょうか?
<Grid>
<TabControl x:Name="MainTab">
<TabItem x:Name="tab1st" Header="{x:Static lang:Resources.Tab1}">
エラー XDG0062 'WpfSample.Properties.Resources.Tab1' StaticExtension 値は、列挙値、静的フィールド、または静的プロパティに解決できません。
エラーコードでググっても解決策が見当たらなかったのですが、Headerに直接Resources.resxを指定しているのが間違っているのでしょうか?
<Grid>
<TabControl x:Name="MainTab">
<TabItem x:Name="tab1st" Header="{x:Static lang:Resources.Tab1}">
エラー XDG0062 'WpfSample.Properties.Resources.Tab1' StaticExtension 値は、列挙値、静的フィールド、または静的プロパティに解決できません。
138137
2022/11/07(月) 16:17:17.03ID:QCbpxt0g すいません、自己解決しました。
Resources.resxを「Public」にしていませんでした。
Resources.resxを「Public」にしていませんでした。
139デフォルトの名無しさん
2022/11/07(月) 23:14:03.87ID:K4lMrp/9 WPFってx:Uid使えないんだっけ
140デフォルトの名無しさん
2022/11/09(水) 02:45:19.03ID:fw9ZhIfn WPFのXAMLでコントロールの一括設定をしたいと思い、以下のような形で設定しても設定されないのですが、なぜでしょうか。
<Window.Resources>
<Style TargetType="Window">
<Setter Property="FontSize" Value="12" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Padding" Value="0,0,0,0" />
TargetType="local:MainWindow"にしてもダメでした。
<Window.Resources>
<Style TargetType="Window">
<Setter Property="FontSize" Value="12" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Padding" Value="0,0,0,0" />
TargetType="local:MainWindow"にしてもダメでした。
141デフォルトの名無しさん
2022/11/09(水) 02:53:12.62ID:fw9ZhIfn もう一点、リソースファイルからSystem.Stringを読み込んでフォントを変更しようとすると、stringからfontfamilyにはキャストできないとエラーになります。
解決策はありますか。
<Setter Property="FontFamily" Value="{StaticResource Window_FontFamily}" />
リソース.xaml
<ResourceDictionary>
<sys:String x:Key="Window_FontFamily">Arial</sys:String>
解決策はありますか。
<Setter Property="FontFamily" Value="{StaticResource Window_FontFamily}" />
リソース.xaml
<ResourceDictionary>
<sys:String x:Key="Window_FontFamily">Arial</sys:String>
142デフォルトの名無しさん
2022/11/09(水) 04:14:47.46ID:fw9ZhIfn 2点目は自己解決しました。sys:StringではなくてFontFamilyタグを使えばOKでした。
143デフォルトの名無しさん
2022/11/09(水) 06:55:52.00ID:IPlnqMco Windowのスタイルを自分に置いてもだめ
Appに置いときな
Appに置いときな
144デフォルトの名無しさん
2022/11/09(水) 10:05:18.20ID:V6k46r68 Win11 22H2で標準の印刷ダイアログが変わったわけだけど、
このダイアログではプレビューが右に表示されるっぽいけど、
WPFアプリはどうやったらそこにプレビューを表示できるんだろう…。
アプリのユーザーから見ると、プレビュー枠あるのに、そこに出てないのは不具合に見えちゃうよ。
このダイアログではプレビューが右に表示されるっぽいけど、
WPFアプリはどうやったらそこにプレビューを表示できるんだろう…。
アプリのユーザーから見ると、プレビュー枠あるのに、そこに出てないのは不具合に見えちゃうよ。
145デフォルトの名無しさん
2022/11/09(水) 13:28:39.76ID:fw9ZhIfn >>143
ありがとうございます。FontFamily/FontSizeはApp.xamlの下記一括設定でできたようなのですが、HorizontalAlignment、VerticalAlignment、Paddingは各コントロールで効いていないようでした。
何か、設定方法を間違えているのか、そもそも一括設定できないものなのか、それとも各コントロールで何か他のプロパティを設定してしまうと別の設定になってしまうもののか、どう理解すればよろしいでしょうか。
App.xaml
<Application.Resources>
<ResourceDictionary>
<Style TargetType="Window">
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontSize" Value="12" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Padding" Value="0,0,0,0" />
ありがとうございます。FontFamily/FontSizeはApp.xamlの下記一括設定でできたようなのですが、HorizontalAlignment、VerticalAlignment、Paddingは各コントロールで効いていないようでした。
何か、設定方法を間違えているのか、そもそも一括設定できないものなのか、それとも各コントロールで何か他のプロパティを設定してしまうと別の設定になってしまうもののか、どう理解すればよろしいでしょうか。
App.xaml
<Application.Resources>
<ResourceDictionary>
<Style TargetType="Window">
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontSize" Value="12" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Padding" Value="0,0,0,0" />
146デフォルトの名無しさん
2022/11/09(水) 15:26:49.23ID:c1WXf99g 各コントロールのスタイル書くしか無いんじゃないのかな
何でもかんでもWindowから引っ張ってきてるわけないと思うし
textblockみたいなのは影響が広範囲に及ぶが
何でもかんでもWindowから引っ張ってきてるわけないと思うし
textblockみたいなのは影響が広範囲に及ぶが
147デフォルトの名無しさん
2022/11/09(水) 15:28:34.87ID:oSagnmD6 WindowのHorisontalAlighmentにCenterなんか入れても何もならんだろ
148sage
2022/11/09(水) 17:09:37.46ID:h/3W+SIE プロパティのFrameworkPropertyMetadataでInheritsが指定されてるかどうかで挙動が違う
フォント関係のは指定されてるから親コントロールの値を継承する
指定されてないプロパティは継承しないから個別に指定する
どのプロパティでInheritsが指定されてて、どれが指定されてないかはドキュメントには書いていない(なぜ?)
経験的に覚えるか、リファレンスソースを見るしかない
フォント関係のは指定されてるから親コントロールの値を継承する
指定されてないプロパティは継承しないから個別に指定する
どのプロパティでInheritsが指定されてて、どれが指定されてないかはドキュメントには書いていない(なぜ?)
経験的に覚えるか、リファレンスソースを見るしかない
149デフォルトの名無しさん
2022/11/09(水) 17:26:32.44ID:fw9ZhIfn みなさんありがとうございます。理解しました。
150デフォルトの名無しさん
2022/11/09(水) 17:35:26.54ID:kfauSW+k ModernWPFの作者動き出したのか
151デフォルトの名無しさん
2022/11/09(水) 20:47:51.10ID:ctHFIT47 >>145
Windowのスタイルは定義にキー名つけてあげて、適用する側もキー指定してみて
Windowのスタイルは定義にキー名つけてあげて、適用する側もキー指定してみて
152デフォルトの名無しさん
2022/11/09(水) 21:00:18.11ID:UR8GXC6A うまく動かない時はXAML側の問題なのかソースリスト側の問題なのか
それすらわからんから余計解決までに時間かかる。
どちらにも問題がある場合もあるし。
禄でもない設計だよな。
それすらわからんから余計解決までに時間かかる。
どちらにも問題がある場合もあるし。
禄でもない設計だよな。
153デフォルトの名無しさん
2022/11/09(水) 22:19:32.72ID:fw9ZhIfn >>151
こういうことですかね?これをやってもやらなくても挙動は変わりませんでした
MainWindow.xaml
<Window Style="{StaticResource WindowStyle}"
・・・
App.xaml
<Application.Resources>
<ResourceDictionary>
<Style x:Key="WindowStyle" TargetType="Window">
・・・
こういうことですかね?これをやってもやらなくても挙動は変わりませんでした
MainWindow.xaml
<Window Style="{StaticResource WindowStyle}"
・・・
App.xaml
<Application.Resources>
<ResourceDictionary>
<Style x:Key="WindowStyle" TargetType="Window">
・・・
154デフォルトの名無しさん
2022/11/09(水) 23:14:57.13ID:kfauSW+k155デフォルトの名無しさん
2022/11/09(水) 23:53:08.17ID:fw9ZhIfn >>151
すみません。デザイナー上は変わらなかったのですが、動かしてみたら結果変わりました。キー指定しないと効かないですね
すみません。デザイナー上は変わらなかったのですが、動かしてみたら結果変わりました。キー指定しないと効かないですね
156デフォルトの名無しさん
2022/11/10(木) 02:53:43.49ID:UhRwOzaE157.NET MAUI HighSchool
2022/11/10(木) 06:17:51.76ID:oMPYiM7T WinUI3に移行したいんでしょきっと
WinFormおじいちゃんのための受け皿は残してるってだけで
WinFormおじいちゃんのための受け皿は残してるってだけで
158.NET MAUI HighSchool
2022/11/10(木) 06:25:29.77ID:oMPYiM7T Office365(これからMicrosoft365になるんだっけ?)はWinUIを彷彿とさせるUIになって来たな
単純にWindows11で動いてるだけでそう見えるだけなのかもしれんけど
まぁUIをWinUIで書いて機能面は元々のC++ってのもやろうと思えばできると思うからそうやってるのかもしれん
単純にWindows11で動いてるだけでそう見えるだけなのかもしれんけど
まぁUIをWinUIで書いて機能面は元々のC++ってのもやろうと思えばできると思うからそうやってるのかもしれん
159デフォルトの名無しさん
2022/11/10(木) 16:43:51.22ID:xTUswBzX WinUIはWindows 10でもmicaだなウィンドウの隅が丸くないだけで
160.NET MAUI HighSchool
2022/11/10(木) 18:31:35.13ID:oMPYiM7T へーこれマイカっていうんだ知らんかった
おしゃれだよな
おしゃれだよな
161.NET MAUI HighSchool
2022/11/10(木) 18:33:35.32ID:oMPYiM7T まだ色々バグとかコンポーネントが無いとか色々あるかもだがWinUI3めっちゃおしゃれだからこれ使えるならこれ使いたいよな
162デフォルトの名無しさん
2022/11/10(木) 18:38:48.66ID:2oSFP+Yc コンポーネント作るのってそんなに時間かかるものなのかね?
163.NET MAUI HighSchool
2022/11/10(木) 19:07:13.91ID:oMPYiM7T >>162
ドッキングウィンドウとかむずそう
ドッキングウィンドウとかむずそう
164デフォルトの名無しさん
2022/11/10(木) 19:20:13.33ID:2oSFP+Yc >>163
そんなのMSのエンジニアたくさんいるんだからさっさと作ればいいのに
そんなのMSのエンジニアたくさんいるんだからさっさと作ればいいのに
165デフォルトの名無しさん
2022/11/10(木) 20:04:24.20ID:cGTLeOhK 今時ドッキングウィンドウなんか流行らないでしょ
そんなものが必要になるような高度なUIを必要とするアプリなら、
どうせドッキングウィンドウに対する要件も高度に特殊化されてるから標準で用意する意味はない
そんなものが必要になるような高度なUIを必要とするアプリなら、
どうせドッキングウィンドウに対する要件も高度に特殊化されてるから標準で用意する意味はない
166デフォルトの名無しさん
2022/11/10(木) 20:39:56.38ID:lDQmNpkM167.NET MAUI HighSchool
2022/11/10(木) 21:28:41.67ID:oMPYiM7T >>164
だよなぁ
だよなぁ
168.NET MAUI HighSchool
2022/11/10(木) 21:29:41.07ID:oMPYiM7T >>166
Reactかよ…
Reactかよ…
169デフォルトの名無しさん
2022/11/10(木) 21:32:58.24ID:EsPKnpGb170デフォルトの名無しさん
2022/11/10(木) 22:01:06.12ID:zhxwh4fX > どうせドッキングウィンドウに対する要件も高度に特殊化されてるから標準で用意する意味はない
要件なんてたいてい一緒だろ
適当な事言いすぎ
要件なんてたいてい一緒だろ
適当な事言いすぎ
171デフォルトの名無しさん
2022/11/10(木) 22:23:19.35ID:zhxwh4fX AvaloniaUI
https://github.com/wieslawsoltes/Dock
WPF
AvalonDock
まぁ、商用ならたくさんあるが
WinUIは3年前くらいのロードマップにもResearchかなんだかでDockingの言及あったが消えた
まぁ、WinUIもそうだが人的リソースさかないでやる気ないだけ
https://github.com/wieslawsoltes/Dock
WPF
AvalonDock
まぁ、商用ならたくさんあるが
WinUIは3年前くらいのロードマップにもResearchかなんだかでDockingの言及あったが消えた
まぁ、WinUIもそうだが人的リソースさかないでやる気ないだけ
172デフォルトの名無しさん
2022/11/10(木) 23:00:05.70ID:yMTwAnCT Project Reunionとかつけてたくせにやる気ないのか
173.NET MAUI HighSchool
2022/11/10(木) 23:20:44.15ID:oMPYiM7T174デフォルトの名無しさん
2022/11/10(木) 23:51:31.93ID:lDQmNpkM >>169
MVVMはWPFのが酷すぎてというのがまともな感性ですな
MVVMはWPFのが酷すぎてというのがまともな感性ですな
175デフォルトの名無しさん
2022/11/11(金) 07:38:09.36ID:VNOGdawE WinFormsで新しいバインドとかやるのか…WPFも弄れよ…
176デフォルトの名無しさん
2022/11/11(金) 11:34:14.50ID:9kenv454 >>166
しゅごい…!
しゅごい…!
177デフォルトの名無しさん
2022/11/11(金) 11:45:21.38ID:Uq5PXeTC https://devblogs.microsoft.com/dotnet/wpf-on-dotnet-7/
一方WPFはコミュニティによる簡単な性能改善とバグ修正のみか
WinFormsがHDPI対応強化とMVVM対応って、もうこのスレでよく言われてたWPFを使う理由が無くなっちゃったな
ボタンを回転させたりするくらいか
一方WPFはコミュニティによる簡単な性能改善とバグ修正のみか
WinFormsがHDPI対応強化とMVVM対応って、もうこのスレでよく言われてたWPFを使う理由が無くなっちゃったな
ボタンを回転させたりするくらいか
178.NET MAUI HighSchool
2022/11/11(金) 12:27:03.46ID:kw0okeTL >>176
それReactだよ…
それReactだよ…
179.NET MAUI HighSchool
2022/11/11(金) 12:27:30.55ID:kw0okeTL >>177
デザインも古臭くなっちゃったしな
デザインも古臭くなっちゃったしな
180デフォルトの名無しさん
2022/11/11(金) 12:27:47.44ID:8WOXnYS7 メタが倒産したらReact死んでしまうん?
181デフォルトの名無しさん
2022/11/11(金) 12:49:47.05ID:9kenv454182デフォルトの名無しさん
2022/11/11(金) 13:51:03.30ID:q6l5EPJl WinFormsのダークモードの可能性にも言及されてるよな
一方のWPFは..
一方のWPFは..
183デフォルトの名無しさん
2022/11/11(金) 14:16:04.72ID:LozOvKy/ WASDK 1.2出てた
184デフォルトの名無しさん
2022/11/11(金) 18:21:02.46ID:WyiGvx4p 難解なWPFを制した君たちは新しいプラットフォームになっても
平気平気w
平気平気w
185デフォルトの名無しさん
2022/11/11(金) 18:41:31.37ID:q6l5EPJl WinAppSDK バグフィックスしてるのか?
クラッシュしないと直してくれない?
クラッシュしないと直してくれない?
186デフォルトの名無しさん
2022/11/11(金) 19:41:02.20ID:LozOvKy/ GitHubのIssuesのところに書いたらいいんじゃない
187デフォルトの名無しさん
2022/11/11(金) 19:41:21.37ID:c7AztzB6188デフォルトの名無しさん
2022/11/11(金) 20:56:53.21ID:HyREv4PM WinFormsを使い続けた俺大勝利
189デフォルトの名無しさん
2022/11/11(金) 21:12:50.96ID:WyiGvx4p190デフォルトの名無しさん
2022/11/11(金) 21:15:09.63ID:WyiGvx4p191デフォルトの名無しさん
2022/11/11(金) 21:36:21.79ID:hMordiys ちょっとしたものならWinFormがお手軽でいいけど規模が大きくなるとxamlの方が差分がわかりやすいよね。
192デフォルトの名無しさん
2022/11/11(金) 21:52:43.10ID:VNOGdawE ListBoxにいろいろ突っ込みたいのでWinFormsに戻ることはない
193デフォルトの名無しさん
2022/11/12(土) 00:31:14.01ID:y2c29nLT DataTemplateはいいよねえ
194デフォルトの名無しさん
2022/11/12(土) 11:16:14.48ID:ajB/boEg195デフォルトの名無しさん
2022/11/12(土) 12:53:09.65ID:bRljaFHR 立ち位置としてはWPFはUWPに席を譲ったということになってるんだよ
ところがUWPがあまりに誰得なのでWinUIでWPFとUWPを統合しようとしてる
WPFはUWPとWinUIの不甲斐なさ故に生きてるだけでMSはできるだけ早くこいつを引退させたいわけ
理論的にはきちんとMVVMで疎結合にできてればWPFからWinUIへの移行は容易いからWPFにあまり力を入れる必要はないんだよ
winformsはそれらとはまたユースケースが違うし一世を風靡して現役の資産が山程ある
しかもRADが売りだからXAMLへの移行はコストが高い
それで見捨てるわけにはいかないんだね
ところがUWPがあまりに誰得なのでWinUIでWPFとUWPを統合しようとしてる
WPFはUWPとWinUIの不甲斐なさ故に生きてるだけでMSはできるだけ早くこいつを引退させたいわけ
理論的にはきちんとMVVMで疎結合にできてればWPFからWinUIへの移行は容易いからWPFにあまり力を入れる必要はないんだよ
winformsはそれらとはまたユースケースが違うし一世を風靡して現役の資産が山程ある
しかもRADが売りだからXAMLへの移行はコストが高い
それで見捨てるわけにはいかないんだね
196デフォルトの名無しさん
2022/11/12(土) 13:39:57.76ID:vdP+ill1 >>194
前者はともかく自動テストについてはMVVM対応したらVMのテストはWPF同様にできるでしょ
前者はともかく自動テストについてはMVVM対応したらVMのテストはWPF同様にできるでしょ
197デフォルトの名無しさん
2022/11/12(土) 18:05:47.38ID:Uk17FKSM >>195
UWPもおわってるけどな
UWPもおわってるけどな
198デフォルトの名無しさん
2022/11/12(土) 22:50:48.74ID:7BfQmyov199デフォルトの名無しさん
2022/11/12(土) 23:21:32.18ID:5MYZSKa9200デフォルトの名無しさん
2022/11/12(土) 23:22:28.30ID:HEowOLPg おっと!
笑
笑
201デフォルトの名無しさん
2022/11/13(日) 02:37:28.45ID:SxEQuHfC ぶっちゃけ、テスト駆動開発なんてしてるの?
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の役割が半分を端折ることが多いので無駄に見えてくるね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【外交】前台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」 [1ゲットロボ★]
- 【ござる専🏡】風間🥷配信実況スレ🏯【風間いろは】
- 【愛国者速報】フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [856698234]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 【悲報】韓国、領土問題担当大臣の発言にソウルの日本大使を召喚して抗議… 高市首相の親韓外交実らず、中国包囲網崩壊へ [452836546]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- 細川バレンタイン、高岡蒼佑(元祖ネトウヨの親玉)にブチギレ。 [242521385]
