WPF(.NET, WinUI) GUIプログラミング Part30at TECH
WPF(.NET, WinUI) GUIプログラミング Part30 - 暇つぶし2ch100:デフォルトの名無しさん
22/11/03 11:55:41.75 G7rGbxep.net
>>99
同じ意見です
趣味開発の範囲ではシングルウィンドウでしか作ってないですね
UWP触ってきてたんでWPFのマルチウィンドウでもUIスレッドが共通なところに魅力感じたのとまあ画面設計がそうだったからに尽きるかなあ

101:デフォルトの名無しさん
22/11/03 13:22:02.66 /C0V73DR.net
MSはMDI非推奨。

102:デフォルトの名無しさん
22/11/03 13:26:48.39 irjlHMAb.net
MDIの話など誰もしてないが
ていうか今MDIなんて見ないだろ

103:デフォルトの名無しさん
22/11/03 13:45:45.53 j+eH91hf.net
MDIはMultiple Document Interfaceの略で複数のドキュメントを一つのアプリケーションで開くUI
今で言うとブラウザのタブ表示に近いがタブと違ってそれぞれ独立したウィンドウとして大きさを変えたり最大化最小化したりできる
ただし親ウィンドウというものがあってドキュメントのウィンドウはそこから出ることができない
一方今ここで話されているマルチウィンドウは複数のドキュメントのそれぞれに対応するウィンドウじゃなく一つのドキュメントのユーザー入力のそれぞれのフェーズに対応するウィンドウ
たとえば一覧ウィンドウと詳細ウィンドウなどが該当する
新しく開かれたウィンドウは親ウィンドウの外に開かれ親ウィンドウは入力を受け付けなくなる

104:デフォルトの名無しさん
22/11/03 13:47:30.34 j+eH91hf.net
>>102
Visual StudioがまだMDIを採用してるな

105:デフォルトの名無しさん
22/11/03 15:03:55.39 myjWXqan.net
わかりやいのではEXCEL。

106:デフォルトの名無しさん
22/11/03 15:06:26.20 j+eH91hf.net
いつのExcel使ってるんだよ
2013でSDIになってるぞ
URLリンク(learn.microsoft.com)

107:デフォルトの名無しさん
22/11/03 16:52:21.82 knTa8KlP.net
Visual Studio のもMDIとは違うでしょ
親ウィンドウの外に出せるし

108:デフォルトの名無しさん
22/11/03 17:21:22.30 HObwb99t.net
そもそもMSのUI設計がすべて正しいという主張は笑われる時代

109:デフォルトの名無しさん
22/11/03 18:09:55.86 YKwh7Bo0.net
CommunityToolKitのMVVMって、ObservablePropertyのsetterの可視性変えられないの?
問答無用でpublicになりんだが
ゴミすぎる

110:デフォルトの名無しさん
22/11/03 18:19:45.38 myjWXqan.net
VS6.0 MFCではMDI,SDIのプロジェクトあったな~。MDIは面倒そうだし
使い道がなかったので使わなかった。

111:デフォルトの名無しさん
22/11/03 18:34:20.06 NbsIPyEs.net
全て正しいとは思わないけどまあこなれている方だと思うよ
むしろ笑われてるのは昔の印象で語ってる老害かと

112:デフォルトの名無しさん
22/11/03 18:39:58.92 0QCo1mM0.net
Windowsアプリを作るならMSのアプリを手本にするのは当然だろ
じゃなきゃ「癖がある」って評価にしかならないんだから
独自のUIは敬遠されるだけ

113:デフォルトの名無しさん
22/11/03 19:57:29.23 biYgemCw.net
vs codeもウインドウを外に出せたらいいのにな
業務アプリなんてしょうもない画面沢山作るんだからタブブラウザみたいなUIがいいよ

114:デフォルトの名無しさん
22/11/03 20:11:01.69 tNReOobE.net
WinUIの1.1以降の新しいマルチウインドウは、シングルウィンドウで運用しているページのオブジェクトをそのまま
新しいウインドウに貼り付ける想定で組まれているんだよな
だからSDIで作ったアプリのグラフなどをマルチウインドウで比較など作れる

115:デフォルトの名無しさん
22/11/03 22:37:33.32 mR06n/1V.net
>>113
それはVSCよりも
ベースのElの問題かな

116:デフォルトの名無しさん
22/11/04 19:50:08.18 M4OnBPBD.net
WINFORMSでできることは全てできると聞いてたのに、、、
this.button1.PerformClick(); とか
SendKeys.Send() などないじゃないの。
全くもって騙された!
あれこれやればSendKeys.Send()は使えるらしいが。
ホンマWPF は疲れる。

117:デフォルトの名無しさん
22/11/04 20:18:07.73 Lq/sATuq.net
ボタンクリックメソッド呼べばいいじゃん

118:デフォルトの名無しさん
22/11/04 20:19:58.46 RBTLkTQo.net
誰に聞いたんだか知らんがまあ自分で作ればできるっちゃできる
そもそも違うものなのになぜ同じだと思ったんだろ

119:デフォルトの名無しさん
22/11/05 08:10:09.51 eN0ov2nj.net
Winformsの後発なんだから今まであった便利なものは継承するのが普通。

120:デフォルトの名無しさん
22/11/05 08:35:10.98 zg6rbg9v.net
便利ではないからな
UI Automationというもっと便利なものが使えるからそれを使え

121:デフォルトの名無しさん
22/11/05 14:13:04.79 SYLf/HEa.net
>>119
あるよ
違うフレームワークなんだからそれぞれのやり方を覚えような

122:デフォルトの名無しさん
22/11/05 14:23:18.30 kGw8yk2y.net
そもそもViewとロジックが疎結合だから、SendKeysみたいな姑息なことをやる必要がないだろ
設計を見直すいい機会だから頑張れというほかない

123:デフォルトの名無しさん
22/11/05 15:21:55.89 cOfvjAsq.net
viewとviewModelを素結合にようという
発想そのものが諸悪の根元

124:デフォルトの名無しさん
22/11/05 18:32:23.25 eN0ov2nj.net
業務アプリってのは姑息なやり方も必要なんだな。

125:デフォルトの名無しさん
22/11/05 19:00:07.74 FvU7hIRr.net
仕様がレガシーだとそういうこともあるけど、
そんなもん蹴って作り直した方が色々捗るぞ

126:デフォルトの名無しさん
22/11/05 20:06:45.45 yxkEcNx6.net
それが簡単に出来るならみんなそうしてるわけで...
作った人がいるならまだしももう退職しました~なんてコードを調べて手直しなんてやる工数も期間もないのがほとんどだし

127:デフォルトの名無しさん
22/11/05 20:18:37.08 kGw8yk2y.net
それでもWinFormsからWPFに乗り換えるタイミングなら少しは手間かけてもいいんじゃないかな?
COBOL時代のロジックが残っていたりすると殺意を覚える

128:デフォルトの名無しさん
22/11/05 22:39:53.01 mkdD7RbX.net
ユーザー子会社にいた事あったけど、基本的にみんな勉強とかしないから指示されたコードしか書けなかったな
下手に最新のフレームワークとかデザインパターン導入したら理解できなくて適当に書かれて終わる

129:デフォルトの名無しさん
22/11/05 22:46:11.02 zg6rbg9v.net
勝手に導入したらそらそうなるわ
導入する前にみんなで勉強会するんだぞ

130:デフォルトの名無しさん
22/11/05 23:07:41.83 WaJWpX/F.net
その会社には勉強会という文化はなかったな
ちょっと気になったけど、勉強会って業務時間中にやるの?

131:デフォルトの名無しさん
22/11/05 23:17:26.78 yxkEcNx6.net
>>130
そりゃ業務のための勉強だから業務の一部だよ

132:デフォルトの名無しさん
22/11/05 23:51:37.49 E55KL9NL.net
勉強会とそのための準備の時間って貰えるもんなんだな
みんないい会社に勤めてそうだわ

133:デフォルトの名無しさん
22/11/06 06:55:15.36 R9xNZ21A.net
>>130
いや、定時過ぎてからだぞ。
残業代はつかない。
参加したかどうかは把握されてるから評価の判断材料にはされる。

134:デフォルトの名無しさん
22/11/06 09:20:15.40 Rn36JAlA.net
勝手に開催するやつは文化に組み込まれてないと難しいとは思うけど、
そうじゃなくてもフレームワーク変更にメリットがあって、ちょっと勉強が必要というなら、
説明資料つくれば業務時間内にやる許可取れると思うで。

135:デフォルトの名無しさん
22/11/06 21:59:47.93 SHLZopS4.net
>>133
ブラック臭いけど、以外と一部上場とかでそういうセコいところあるよな

136:デフォルトの名無しさん
22/11/06 23:10:33.70 L+smrKSs.net
サービス残業ってことになると本当にやる気のある人がいないと、なかなか難しそう
そういう人ってその会社見切って転職するイメージあるな

137:デフォルトの名無しさん
22/11/07 15:33:20.29 QCbpxt0g.net
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 値は、列挙値、静的フィールド、または静的プロパティに解決できません。

138:137
22/11/07 16:17:17.03 QCbpxt0g.net
すいません、自己解決しました。
Resources.resxを「Public」にしていませんでした。

139:デフォルトの名無しさん
22/11/07 23:14:03.87 K4lMrp/9.net
WPFってx:Uid使えないんだっけ

140:デフォルトの名無しさん
22/11/09 02:45:19.03 fw9ZhIfn.net
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"にしてもダメでした。

141:デフォルトの名無しさん
22/11/09 02:53:12.62 fw9ZhIfn.net
もう一点、リソースファイルからSystem.Stringを読み込んでフォントを変更しようとすると、stringからfontfamilyにはキャストできないとエラーになります。
解決策はありますか。
<Setter Property="FontFamily" Value="{StaticResource Window_FontFamily}" />
リソース.xaml
<ResourceDictionary>
<sys:String x:Key="Window_FontFamily">Arial</sys:String>

142:デフォルトの名無しさん
22/11/09 04:14:47.46 fw9ZhIfn.net
2点目は自己解決しました。sys:StringではなくてFontFamilyタグを使えばOKでした。

143:デフォルトの名無しさん
22/11/09 06:55:52.00 IPlnqMco.net
Windowのスタイルを自分に置いてもだめ
Appに置いときな

144:デフォルトの名無しさん
22/11/09 10:05:18.20 V6k46r68.net
Win11 22H2で標準の印刷ダイアログが変わったわけだけど、
このダイアログではプレビューが右に表示されるっぽいけど、
WPFアプリはどうやったらそこにプレビューを表示できるんだろう…。
アプリのユーザーから見ると、プレビュー枠あるのに、そこに出てないのは不具合に見えちゃうよ。

145:デフォルトの名無しさん
22/11/09 13:28:39.76 fw9ZhIfn.net
>>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" />

146:デフォルトの名無しさん
22/11/09 15:26:49.23 c1WXf99g.net
各コントロールのスタイル書くしか無いんじゃないのかな
何でもかんでもWindowから引っ張ってきてるわけないと思うし
textblockみたいなのは影響が広範囲に及ぶが

147:デフォルトの名無しさん
22/11/09 15:28:34.87 oSagnmD6.net
WindowのHorisontalAlighmentにCenterなんか入れても何もならんだろ

148:sage
22/11/09 17:09:37.46 h/3W+SIE.net
プロパティのFrameworkPropertyMetadataでInheritsが指定されてるかどうかで挙動が違う
フォント関係のは指定されてるから親コントロールの値を継承する
指定されてないプロパティは継承しないから個別に指定する
どのプロパティでInheritsが指定されてて、どれが指定されてないかはドキュメントには書いていない(なぜ?)
経験的に覚えるか、リファレンスソースを見るしかない

149:デフォルトの名無しさん
22/11/09 17:26:32.44 fw9ZhIfn.net
みなさんありがとうございます。理解しました。

150:デフォルトの名無しさん
22/11/09 17:35:26.54 kfauSW+k.net
ModernWPFの作者動き出したのか

151:Hルトの名無しさん
22/11/09 20:47:51.10 ctHFIT47.net
>>145
Windowのスタイルは定義にキー名つけてあげて、適用する側もキー指定してみて

152:デフォルトの名無しさん
22/11/09 21:00:18.11 UR8GXC6A.net
うまく動かない時はXAML側の問題なのかソースリスト側の問題なのか
それすらわからんから余計解決までに時間かかる。
どちらにも問題がある場合もあるし。
禄でもない設計だよな。

153:デフォルトの名無しさん
22/11/09 22:19:32.72 fw9ZhIfn.net
>>151
こういうことですかね?これをやってもやらなくても挙動は変わりませんでした
MainWindow.xaml
<Window Style="{StaticResource WindowStyle}"
・・・
App.xaml
<Application.Resources>
<ResourceDictionary>
<Style x:Key="WindowStyle" TargetType="Window">
・・・

154:デフォルトの名無しさん
22/11/09 23:14:57.13 kfauSW+k.net
URLリンク(devblogs.microsoft.com)
WPFの見捨てられっぷり

155:デフォルトの名無しさん
22/11/09 23:53:08.17 fw9ZhIfn.net
>>151
すみません。デザイナー上は変わらなかったのですが、動かしてみたら結果変わりました。キー指定しないと効かないですね

156:デフォルトの名無しさん
22/11/10 02:53:43.49 UhRwOzaE.net
>>154
出てきて10年以上経つのにな。
衰退するのは間違いないらしい。

157:.NET MAUI HighSchool
22/11/10 06:17:51.76 oMPYiM7T.net
WinUI3に移行したいんでしょきっと
WinFormおじいちゃんのための受け皿は残してるってだけで

158:.NET MAUI HighSchool
22/11/10 06:25:29.77 oMPYiM7T.net
Office365(これからMicrosoft365になるんだっけ?)はWinUIを彷彿とさせるUIになって来たな
単純にWindows11で動いてるだけでそう見えるだけなのかもしれんけど
まぁUIをWinUIで書いて機能面は元々のC++ってのもやろうと思えばできると思うからそうやってるのかもしれん

159:デフォルトの名無しさん
22/11/10 16:43:51.22 xTUswBzX.net
WinUIはWindows 10でもmicaだなウィンドウの隅が丸くないだけで

160:.NET MAUI HighSchool
22/11/10 18:31:35.13 oMPYiM7T.net
へーこれマイカっていうんだ知らんかった
おしゃれだよな

161:.NET MAUI HighSchool
22/11/10 18:33:35.32 oMPYiM7T.net
まだ色々バグとかコンポーネントが無いとか色々あるかもだがWinUI3めっちゃおしゃれだからこれ使えるならこれ使いたいよな

162:デフォルトの名無しさん
22/11/10 18:38:48.66 2oSFP+Yc.net
コンポーネント作るのってそんなに時間かかるものなのかね?

163:.NET MAUI HighSchool
22/11/10 19:07:13.91 oMPYiM7T.net
>>162
ドッキングウィンドウとかむずそう

164:デフォルトの名無しさん
22/11/10 19:20:13.33 2oSFP+Yc.net
>>163
そんなのMSのエンジニアたくさんいるんだからさっさと作ればいいのに

165:デフォルトの名無しさん
22/11/10 20:04:24.20 cGTLeOhK.net
今時ドッキングウィンドウなんか流行らないでしょ
そんなものが必要になるような高度なUIを必要とするアプリなら、
どうせドッキングウィンドウに対する要件も高度に特殊化されてるから標準で用意する意味はない

166:デフォルトの名無しさん
22/11/10 20:39:56.38 lDQmNpkM.net
な事はない。要るだろ。
因みに俺が良く使ってるのはこれ↓
URLリンク(github.com)

167:.NET MAUI HighSchool
22/11/10 21:28:41.67 oMPYiM7T.net
>>164
だよなぁ

168:.NET MAUI HighSchool
22/11/10 21:29:41.07 oMPYiM7T.net
>>166
Reactかよ…

169:デフォルトの名無しさん
22/11/10 21:32:58.24 EsPKnpGb.net
>>154
WindowsフォームでもMVVMパターンについて言及されてるw
MVVMが怖くてWPFから逃げてた4流PGカワイソw

170:デフォルトの名無しさん
22/11/10 22:01:06.12 zhxwh4fX.net
> どうせドッキングウィンドウに対する要件も高度に特殊化されてるから標準で用意する意味はない
要件なんてたいてい一緒だろ
適当な事言いすぎ

171:デフォルトの名無しさん
22/11/10 22:23:19.35 zhxwh4fX.net
AvaloniaUI
URLリンク(github.com)
WPF
AvalonDock
まぁ、商用ならたくさんあるが
WinUIは3年前くらいの


172:ロードマップにもResearchかなんだかでDockingの言及あったが消えた まぁ、WinUIもそうだが人的リソースさかないでやる気ないだけ



173:デフォルトの名無しさん
22/11/10 23:00:05.70 yMTwAnCT.net
Project Reunionとかつけてたくせにやる気ないのか

174:.NET MAUI HighSchool
22/11/10 23:20:44.15 oMPYiM7T.net
>>171
アヴァロンドックは有名だよな
VisualStudioっぽいUI

175:デフォルトの名無しさん
22/11/10 23:51:31.93 lDQmNpkM.net
>>169
MVVMはWPFのが酷すぎてというのがまともな感性ですな

176:デフォルトの名無しさん
22/11/11 07:38:09.36 VNOGdawE.net
WinFormsで新しいバインドとかやるのか…WPFも弄れよ…

177:デフォルトの名無しさん
22/11/11 11:34:14.50 9kenv454.net
>>166
しゅごい…!

178:デフォルトの名無しさん
22/11/11 11:45:21.38 Uq5PXeTC.net
URLリンク(devblogs.microsoft.com)
一方WPFはコミュニティによる簡単な性能改善とバグ修正のみか
WinFormsがHDPI対応強化とMVVM対応って、もうこのスレでよく言われてたWPFを使う理由が無くなっちゃったな
ボタンを回転させたりするくらいか

179:.NET MAUI HighSchool
22/11/11 12:27:03.46 kw0okeTL.net
>>176
それReactだよ…

180:.NET MAUI HighSchool
22/11/11 12:27:30.55 kw0okeTL.net
>>177
デザインも古臭くなっちゃったしな

181:デフォルトの名無しさん
22/11/11 12:27:47.44 8WOXnYS7.net
メタが倒産したらReact死んでしまうん?

182:デフォルトの名無しさん
22/11/11 12:49:47.05 9kenv454.net
>>178
React万歳!!
>>180
そのときはVercelが引き継ぎそう

183:デフォルトの名無しさん
22/11/11 13:51:03.30 q6l5EPJl.net
WinFormsのダークモードの可能性にも言及されてるよな
一方のWPFは..

184:デフォルトの名無しさん
22/11/11 14:16:04.72 LozOvKy/.net
WASDK 1.2出てた

185:デフォルトの名無しさん
22/11/11 18:21:02.46 WyiGvx4p.net
難解なWPFを制した君たちは新しいプラットフォームになっても
平気平気w

186:デフォルトの名無しさん
22/11/11 18:41:31.37 q6l5EPJl.net
WinAppSDK バグフィックスしてるのか?
クラッシュしないと直してくれない?

187:デフォルトの名無しさん
22/11/11 19:41:02.20 LozOvKy/.net
GitHubのIssuesのところに書いたらいいんじゃない

188:デフォルトの名無しさん
22/11/11 19:41:21.37 c7AztzB6.net
>>176
こんなの山ほどありますよ
しかもオープンソースで

189:デフォルトの名無しさん
22/11/11 20:56:53.21 HyREv4PM.net
WinFormsを使い続けた俺大勝利

190:デフォルトの名無しさん
22/11/11 21:12:50.96 WyiGvx4p.net
>>188
www 良かったな!。
やっぱりwpfに比べると簡単だもんな。
WINFORMS。
どっちも使ってるけどWINの方が楽だわ。

191:デフォルトの名無しさん
22/11/11 21:15:09.63 WyiGvx4p.net
>>177
WPFにしても高DPI対応にするには
それなりに考えないといけないと聞いたが
ホント?
それともテキトーに作っても高DPIに対応されるんか?

192:デフォルトの名無しさん
22/11/11 21:36:21.79 hMordiys.net
ちょっとしたものならWinFormがお手軽でいいけど規模が大きくなるとxamlの方が差分がわかりやすいよね。

193:デフォルトの名無しさん
22/11/11 21:52:43.10 VNOGdawE.net
ListBoxにいろいろ突っ込みたいのでWinFormsに戻ることはない

194:デフォルトの名無しさん
22/11/12 00:31:14.01 y2c29nLT.net
DataTemplateはいいよねえ

195:デフォルトの名無しさん
22/11/12 11:16:14.48 ajB/boEg.net
>>177
このスレで言えば
- XAMLの編集がフォームエディタ必須のFormsより楽
- UIを含む自動テストがVMを叩くだけでほぼカバーできるので楽
あたりも定番だと思うが。

196:デフォルトの名無しさん
22/11/12 12:53:09.65 bRljaFHR.net
立ち位置としてはWPFはUWPに席を譲ったということになってるんだよ
ところがUWPがあまりに誰得なのでWinUIでWPFとUWPを統合しようとしてる
WPFはUWPとWinUIの不甲斐なさ故に生きてるだけでMSはできるだけ早くこいつを引退させたいわけ
理論的にはきちんとMVVMで疎結合にできてればWPFからWinUIへの移行は容易いからWPFにあまり力を入れる必要はないんだよ
winformsはそれらとはまたユースケースが違うし一世を風靡して現役の資産が山程ある
しかもRADが売りだからXAMLへの移行はコストが高い
それで見捨てるわけにはいかないんだね

197:デフォルトの名無しさん
22/11/12 13:39:57.76 vdP+ill1.net
>>194
前者はともかく自動テストについてはMVVM対応したらVMのテストはWPF同様にできるでしょ

198:デフォルトの名無しさん
22/11/12 18:05:47.38 Uk17FKSM.net
>>195
UWPもおわってるけどな

199:デフォルトの名無しさん
22/11/12 22:50:48.74 7BfQmyov.net
>>177
WPF使う理由ってXAMLでレスポンシブな画面作れることでしょ。
MVVMはあってもなくてもどっちでもいいもの。

200:デフォルトの名無しさん
22/11/12 23:21:32.18 5MYZSKa9.net
>>198
WPFで普通に作られたUIはいわゆる世間一般のレスポンシブデザインには全く該当しないけど、
君のいうレスポンシブってどういうものを指してる?

201:デフォルトの名無しさん
22/11/12 23:22:28.30 HEowOLPg.net
おっと!


202:デフォルトの名無しさん
22/11/13 02:37:28.45 SxEQuHfC.net
ぶっちゃけ、テスト駆動開発なんてしてるの?

203:デフォルトの名無しさん
22/11/13 04:37:56.81 BsOFUxPA.net
絵に描いた餅だろ

204:デフォルトの名無しさん
22/11/13 09:39:55.13 2jgXqyDd.net
なんで唐突にテスト駆動開発なんて話が?
GUIに対してはなかなか難しいと思うが。

205:デフォルトの名無しさん
22/11/13 10:23:16.61 dnh5T98N.net
MVVMを採用するメリットはテスト駆動開発だから、それをしないのに採用する意味はあるのかな、と思って

206:デフォルトの名無しさん
22/11/13 10:26:27.45 2jgXqyDd.net
テストしやすいってのとテスト駆動開発はまた違う話だぞ?

207:デフォルトの名無しさん
22/11/13 11:18:11.03 TCbRukL6.net
react側から見るとしづらい方ですかね

208:デフォルトの名無しさん
22/11/13 17:56:04.29 7K/NPeS8.net
WinUIだが、TemplateStudioが作ってくれる雛形のWindowがサードパーティー製のWinUIExに置き換わった
これでWindowの位置と場所をキープしてくれるし、スプラッシュスクリーンもサポートしているようだ
スプラッシュの方はこれから見てみるわ

209:デフォルトの名無しさん
22/11/13 21:04:37.19 KxltdXvH.net
reactの場合はビューがDOMを生成する関数だから、ビューについても簡単にテスト書けるんだよね
WPFで複雑なバインディングをやるとビューの手動テストはそれなりに大変になる
WPFでビューの自動テストをやろうとするとUIオートメーション使うことになるから流石に大袈裟すぎて非現実的だよね

210:デフォルトの名無しさん
22/11/13 21:18:59.25 2jgXqyDd.net
>WPFでビューの自動テストをやろうとするとUIオートメーション使うことになるから流石に大袈裟すぎて非現実的だよね

オートメーションが必要なのはUIコンポーネントが内部状態を持ってしまっているFormsまでの話で、
MVVMの場合はプレゼンテーションロジックを全部VM側に持っているからそこのテストで
UIフレームワークを叩く必要がないというのが利点なわけだが。

211:デフォルトの名無しさん
22/11/13 21:24:43.10 KxltdXvH.net
>>209
Vからロジックを分離してロジックのみを単体テストできるのは当然Reactも同じ
その上でVの単体テストやインテグレーションテストをする場合の話をしてる
あと、Reactの場合は仮にVからロジックを分離しないことを選択したとしても自動テストは比較的容易だ

212:デフォルトの名無しさん
22/11/13 21:29:43.31 pp5TDwJ0.net
>>210
ほんとか?
state絡みRedux絡みは結構めんどいぞ

213:デフォルトの名無しさん
22/11/13 22:19:25.39 2jgXqyDd.net
>インテグレーションテストをする場合の話をしてる
React�


214:フ場合でもそれはselenium使ったテストとかやらん?



215:デフォルトの名無しさん
22/11/13 22:31:21.25 2jgXqyDd.net
あと、
「WPFは非現実的」
「そんなことない」
「Reactすごい」←話が繋がってないw

216:デフォルトの名無しさん
22/11/13 23:07:14.52 1gqKHkfA.net
>>208
異常に面倒ですからねwpfのは

217:デフォルトの名無しさん
22/11/13 23:25:16.64 pp5TDwJ0.net
>>214
だからMVVMを使うのであってな
VMはVを抽象化したものだからVMのテストをすればVのテストはシステムテストまで要らんのよ

218:デフォルトの名無しさん
22/11/13 23:34:14.97 TdMl1FC3.net
なんでVとVMって分かれてるんだろう
ロジックなんてMに書くからVとVMが分かれてる必要性ないと思うんだけど

219:デフォルトの名無しさん
22/11/13 23:53:19.25 pp5TDwJ0.net
>>216
Vを抽象化したものがVMと書いただろ?
VMのプロパティに文字列を入れるのはVのテキストボックスに文字列を入れるのと同じことでVMのコマンドを実行することはVのボタンを押すことと同じなんだよ
VMにVの装飾以外の機能を移せばVはViewModelという名のModelになれる
Modelだから簡単なテストで性能を担保できるしコンパイルも早い
いちいちソース書き換えてデバッグ実行してテキストボックスに文字列書き込んでボタン押す作業を繰り返さなくても数行のテストコードで同じことが確かめられるから開発時間が大幅に短縮できる
短縮できないとしたらやり方が間違ってる

220:デフォルトの名無しさん
22/11/14 00:05:00.33 PgYCwlwQ.net
本来INotifyPropartyChangedはVMだけに設定して、VMはVから来た命令に従ってMに司令を出して
Mが完了したら自分のPropertyなどを更新してVに通知するからですね
でも、可也面倒だからMにInotfy・・・なプロパティーをMに設置するからVMはVにリレーするだけにしたりしているから
VMの役割が半分を端折ることが多いので無駄に見えてくるね

221:デフォルトの名無しさん
22/11/14 00:32:06.18 svXfhy4i.net
>>211
reduxなど使う必要性ないですね
単体テストの為に実装が増えることは基本無いのです
wpfのは余りに無駄すぎます

222:デフォルトの名無しさん
22/11/14 00:38:25.53 0RxMnhmu.net
>>217
そのテストコードを書くより画面で入力した方が楽じゃない?
テストコードがちゃんと書けてるかもテストしないといけないし。
どれくらいの回数のテストするかによるかもしれないけど、そういう特殊なケース以外でのメリットがわからない。

223:デフォルトの名無しさん
22/11/14 00:42:59.00 IdOGQmNP.net
あと、Vのコントロールで参照したいプロパティの数だけVMにもプロパティを作ってはバインドするのが辛い
VMでコントロールを参照できれば簡単だけど、それだと理念に反する感じもするし…

224:デフォルトの名無しさん
22/11/14 02:19:45.52 HDY6oj/W.net
まあアホに何言っても無駄だから自分の信じるやり方でゴミを作ればいんじゃね

225:デフォルトの名無しさん
22/11/14 05:40:27.75 YYO5Hrl+.net
↑自分がそのアホだと気付いていないアホ

226:デフォルトの名無しさん
22/11/14 06:15:26.54 osaHTAYz.net
テストが一回きりなら手動の方が早いだろうな

227:デフォルトの名無しさん
22/11/14 07:20:40.36 zeNxJ9gL.net
この手のやつは半信半疑ながらも自分で手を動かして実践しないと理解できなかったりする

228:デフォルトの名無しさん
22/11/14 07:34:36.07 ok27TY1c.net
WPFやWinUI3の標準テンプレートってどれよ? PrismやCommunityKitなどいろいろあってわかんなーい。
CommunityKitでDependencyInjecttionとHostingをNuGet導入するあたりが標準なのかしら?

229:.NET MAUI HighSchool
22/11/14 07:45:50.17 p8dKwuQs.net
最近はCommunityToolKit何じゃないかぁ???

230:デフォルトの名無しさん
22/11/14 07:57:38.88 TzpWDTj0.net
VSにTemplate Studioという


231:拡張を導入してプロジェクトの雛形を作る https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs 基本はCommunityToolkitだが、不足しているものをコード自動生成してくれるし最小限のNugetも導入してくれる



232:デフォルトの名無しさん
22/11/14 11:51:13.81 EWF0SvAn.net
>>216
MVCという言葉を使いたくなかっただけ

233:デフォルトの名無しさん
22/11/14 13:31:55.51 u/Tvru9y.net
>>224
全部作り終わってから一回だけテストすることが許されてる環境とか嫌すぎる

234:デフォルトの名無しさん
22/11/14 13:34:53.19 u/Tvru9y.net
>>221
動作に必要なプロパティがそんなたくさんあるとかおかしいんじゃね

235:デフォルトの名無しさん
22/11/14 13:34:59.86 mrCA5Qrf.net
あるボタンが押されたら他のあるボタンが押せなくなるみたいな簡単なロジックのやつは、xamlでコントロール同士をバインディングしているのですが、これはそうせずにCSでプロパティ変更のコードを書いた方がいいのでしょうか

236:デフォルトの名無しさん
22/11/14 13:43:21.84 hyabTMwB.net
>>232
あるボタンにVMのコマンドをバインドする
VMはそのコマンドが実行されると自身のIsOtherButtonEnabledプロパティ(このプロパティは自分で作る)をtrueにする
他のボタンのIsEnabledプロパティを全てこのIsOtherButtonEnabledプロパティにバインドする
これであるボタンが押されると他のボタンが押せなくなる

237:デフォルトの名無しさん
22/11/14 13:44:15.94 hyabTMwB.net
>>233
✕true
○false

238:デフォルトの名無しさん
22/11/14 22:04:24.32 aaTBlyIu.net
>>216
>ロジックなんてMに書くから
こういう勘違い昔から多いよな。

239:.NET MAUI HighSchool
22/11/14 22:06:34.12 p8dKwuQs.net
ロジックはVMに書く
たしかに最初は間違って覚えちゃうよな
俺もそうだった
モデルは情報を持つだけ

240:デフォルトの名無しさん
22/11/14 22:10:06.97 b4FWDRLa.net
勘違いではないでしょ
もしかしてVMで直接リポジトリを触ったりしちゃってる?

241:.NET MAUI HighSchool
22/11/14 22:11:49.45 p8dKwuQs.net
そういえば今日
BindingContext=this;でそのページ上、画面上にあるプロパティ全てBindingできるコンテンツとして扱えるということを勉強したこれよいね

242:.NET MAUI HighSchool
22/11/14 22:14:11.99 p8dKwuQs.net
>>237
してるね
.xaml.cs←VMファイルに分けなければ実質的なVMにパス書いてるわ
ただオブジェクトのモデル(プロパティ郡)はちゃんとモデルでわけてる

243:デフォルトの名無しさん
22/11/14 22:40:55.53 b4FWDRLa.net
MV*系のアーキテクチャでいうMはビューの上位に存在するもの全般を指しているのだけど、
モデルという言葉のせいでデータモデルとかドメインモデルなんかと混同しやすいんだよね
本来的にはそれらを弄くり回すのは「サービス」層の仕事で、VMの仕事はサービスに処理を投げて結果を反映するだけだ

244:.NET MAUI HighSchool
22/11/14 23:07:12.03 p8dKwuQs.net
>>240
なるほどMVVMSみたいな感じなわけですな
たしかにサービスクラスよく作りますわ
MVCだとMVCSみたいな

245:デフォルトの名無しさん
22/11/14 23:15:51.49 aaTBlyIu.net
>>236
ロジックはMVCどこにでも書くだろう。ビジネスロジックだけがロジックってわけじゃない。

246:デフォルトの名無しさん
22/11/14 23:16:37.69 aaTBlyIu.net
まちがえた。>>242>>237な。

247:デフォルトの名無しさん
22/11/15 07:30:18.11 TYbL5LNK.net
MVVMでDDD するとしたらどこにアプリケーション層やらドメイン層を置くの

248:デフォルトの名無しさん
22/11/15 08:17:54.90 oaKUlL5c.net
どっちっもMじゃね?

249:デフォルトの名無しさん
22/11/15 14:19:21.05 Lk8Tc52e.net
>>233
ありがとうございます。そのように変更してみます

250:デフォルトの名無しさん
22/11/15 18:50:53.84 9/ARJaEi.net
WinUI 3 Galleryが更新されてた

251:デフォルトの名無しさん
22/11/15 18:55:38.96 fFtAGper.net
メディアプレイヤーエレメント来てるねぇ
そういえばMAUIでも使えるようになるんだ(まだプレビュー)

252:デフォルトの名無しさん
22/11/15 18:59:44.05 fFtAGper.net
全体的にUpdateされたみたいね

253:デフォルトの名無しさん
22/11/15 19:04:44.40 fFtAGper.net
Windows10だからシステムバックドロップスのMicaやAcrylicがわからん…

254:デフォルトの名無しさん
22/11/15 22:06:07.59 o0cMt8HV.net
MVVM使うような巨大アプリは扱わんだろうなぁ。

255:デフォルトの名無しさん
22/11/15 22:50:08.95 iGLqmck8.net
メディアプレーヤーちょっと触ってみたけど
ビデオ画面のフルスクリーンが出来ないのが残念だったわ
プロパティーあるからそのうち実装されるんだろうが

256:デフォルトの名無しさん
22/11/15 23:30:39.77 fFtAGper.net
そういえばこれと同じようなソフトでCommunityToolkitSampleAppもあるけどみんな使ってる?
色々コントロールあってWinUIでも色々できるんだなぁってなった

257:デフォルトの名無しさん
22/11/15 23:33:13.02 fFtAGper.net
これ
URLリンク(www.microsoft.com)

258:デフォルトの名無しさん
22/11/16 02:12:36.05 F1FwASBt.net
そういえばこういうToolkit Sample AppみたいにXAML変えたら勝手にViewも変わるようにするにはどうすればいいんだろうか?
.NET MAUIとかで同じようなアプリ作りたい

259:デフォルトの名無しさん
22/11/16 16:06:10.44 31Oci6nz.net
VSのWindowsAppSDKでページやユーザーコントロールの新規ファイルを作るとSJISコードで作っちまうようだ
Xamlで文字化けが起こった時はサクラエディタなどでUTF8 BOM付きに変換すれば治る

260:デフォルトの名無しさん
22/11/17 06:38:43.37 edZsLEUo.net
>>254
UIがうざいな。
何するにもワンテンポ待たされる。
アニメーションにセンスがない。
操作を分かりやすくするため、操作の邪魔をしないよう最小限にという鉄則が守られていない。

261:デフォルトの名無しさん
22/11/17 17:13:44.56 IkDUYkmL.net
WinUI Template使ったら凄いでちゅね。 Blankでもあれよあれよとフォルダーだらけ。
MSTestまで追加されている。
とりあえず構成として足りないNuGetはMicrosoft.Extensions.DependencyInjectionぐらい。
App1.Coreライブラリブロジェクトは不要なので削除して、App1.DomainライブラリプロジェクトとApp1.Infrastructureライブラリプロジェクトは追加したが、
こんなのに初心者が付いてこれるのかね?

262:デフォルトの名無しさん
22/11/17 17:20:59.19 bRe6n69U.net
最悪MSやパートナーに相談してくれりゃいいというスタンスなんでしょ
WinUIなんて、どうせ使うのはMSのエンタープライズサポートが付いてる高級客くらいなんだから

263:デフォルトの名無しさん
22/11/17 17:48:44.99 IkDUYkmL.net
>>259
まぁ もう販促の時代では無いとしているんだろうが、
バリデーションやエレメントEnabledコンディションのUIロジックと単位やファインナンスルール等をドメインに入れるアーキテクチァーロジックとの区別ができない奴がVMにもロジックがあると言っているこのスレ見れば、
もう少し、DellphiなどのRAD時代のようなTemplateを用意しても良いとはオモ。
全体のTemplateをみる限り、八方ふさがりが多い。

264:.NET MAUI HighSchool
22/11/17 19:14:41.39 iKwqu8K0.net
>>258
テンプレートスタジオのじゃなくて既成のやつ?

265:デフォルトの名無しさん
22/11/19 02:17:21.47 CL48cSEB.net
既存のWPFのプロジェクトでWinUIのコントロールを使うことってできませんか?

266:デフォルトの名無しさん
22/11/19 07:41:53.45 0mattRbK.net
xaml islands?
.net core3じゃないと使えないと聞いたけど

267:.NET MAUI HighSchool
22/11/19 08:09:34.03 BTXZ3B+x.net
たしかにWPFでWinUI3のコントロール使えたら最強だわなw
普段と何も変わらず見た目だけおしゃれにできる

268:デフォルトの名無しさん
22/11/20 14:23:46.53 4TEpIoUs.net
datagrid内のtextblockのmaxlengthを設定する方法はありますでしょうか。現在は入力されたらcelleditイベントで飛ばしてパンドラ側でtextをバインドしたコレクションの文字数を調べて上限を超えていたら、上限超過文字をカットしてコレクションに入れ直しています。そもそもtextblockで上限文字以上を受け付けない方法に変えたいです。
datadrd内のtextboxをダブルクリックで編集メードにする方法はありますでしょうか。こちらであればmaxlengthを設定できるので、上記のような問題は出ないのですが、ワンクリックで選択したらいきなり編集モードになってしまい、それは避けたいというところです。
どうぞよろしくお願いいたします。

269:デフォルトの名無しさん
22/11/20 17:52:21.57 b1CRB9CX.net
ここに質問しても禄に回答なんてないよ。そんなレベルだから。ま、自分もそうだがw
ヤフー知恵袋などの方が良い。

270:デフォルトの名無しさん
22/11/20 21:54:33.51 sZw8WIOe.net
>>265
DataGridTemplateColumn じゃあかんのか?

271:デフォルトの名無しさん
22/11/20 22:05:41.15 oLom3qzC.net
これじゃね?
URLリンク(stackoverflow.com)

272:デフォルトの名無しさん
22/11/21 04:36:19.56 6Crx1mAE.net
ありがとうございます。スタックフローにある通り、以下の構成でダブルクリック編集ができました。
<DataGridTextColumn
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox" x:Name="name"
しかし、x:Nameによる操作がcsコード側でコントロールできないのですが、何か方法はありますでしょうか。
(name.MaxLength=50とかがnameが認識できないエラーになる)
質問ばかりですみません。よろしくお願いします。

273:デフォルトの名無しさん
22/11/21 05:22:32.76 jDeUVvYe.net
Styleを学んでください

274:.NET MAUI HighSchool
22/11/21 09:22:55.00 DkIa5QxJ.net
DataGridColumnにx:Nameだね

275:デフォルトの名無しさん
22/11/21 14:40:33.74 6Crx1mAE.net
ありがとうございます。以下のコードで設定できました。
皆さんはどの本でxamlとかwpfを勉強しましたか??いいのが見つからなくて困っています
xaml
<DataGridTextColumn x:Name="name"
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox"
C#
name.EditingElementStyle.Setters.Add(new Setter(TextBox.MaxLengthProperty, 100));

276:.NET MAUI HighSchool
22/11/21 14:58:20.08 DkIa5QxJ.net
ネット記事

277:デフォルトの名無しさん
22/11/21 16:20:08.58 jmXTqtKS.net
Microsoft Learn
URLリンク(learn.microsoft.com)

278:.NET MAUI HighSchool
22/11/21 16:25:49.21 DkIa5QxJ.net
クソ古いけどこういうちゃんとした専門家が連載記事書いてるところは参考にしてた
URLリンク(atmarkit.itmedia.co.jp)

279:デフォルトの名無しさん
22/11/21 16:55:47.51 KDDXOYAA.net
>>275
ここは俺も参考にしたな
慣れるまでは会社のプリンタで全ページ印刷して辞書代わりに使ってた

280:デフォルトの名無しさん
22/11/25 18:36:20.43 +fM36QUo.net
XAML Stylerっていう拡張機能は便利だな
しっかり整うから無駄な時間が減る

281:.NET MAUI HighSchool
22/11/25 20:27:51.26 SQhAXb/D.net
>>277
いいね
プロパティの順番とか気になってたけどめんどくさくてそのままのときとか多かったんだ
これ使ってみる

282:デフォルトの名無しさん
22/11/26 11:06:15.13 1ldKsJnP.net
縦に長くなるのは避けたいんだよな
最低限x:Nameはタグと同じラインにしてほしいな
普段はタグとタグ名だけ表示してクリックしたら詳細が出るほうがいいんだけど

283:.NET MAUI HighSchool
22/11/26 11:54:12.22 Ja07f46G.net
>>279
そういうのってこのアドインで調整できるんじゃねぇの?

284:.NET MAUI HighSchool
22/11/26 15:17:01.29 Ja07f46G.net
ツールタブの一番下にあるオプションにXAML Stylerの項目追加されてたからそこで設定するみたいだぞ
URLリンク(imgur.com)
これはどの項目をどの順番に並べるかを指定するところだと思われる
x:Classが最上位か、、、
このへんで一番上の物は改行しないとか指定できるんじゃね?
下のボックスに説明あるけど英語だからわがんね

285:デフォルトの名無しさん
22/11/27 00:08:16.49 b0dtQ2k7.net
コードビハインドに記述したプロパティをバインドすることってできますか?

286:デフォルトの名無しさん
22/11/27 01:11:29.44 VXCnX9/B.net
コンストラクタで
DataContext=this;
ってやれば動きそうだけどやったことねーな

287:.NET MAUI HighSchool
22/11/27 01:26:28.71 YoYicuFz.net
>>283
やってみた
URLリンク(youtu.be)
普通にいける

288:.NET MAUI HighSchool
22/11/27 01:27:38.96 YoYicuFz.net
thisってやったらページのプロパティ全てBindingContextになるな

289:.NET MAUI HighSchool
22/11/27 01:29:49.63 YoYicuFz.net
そのプロパティだけバインドさせたいってだけならBindingContext=プロパティ名にして
XAMLのところで{Binding プロパティ名でいける}
オブジェクトの中のプロパティを使いたい場合は{Binding オブジェクト名.プロパティ名でいけたわ}

290:デフォルトの名無しさん
22/11/27 17:09:02.91 zizz/yv+.net
質問がざっくりし過ぎなんだ
仮に自前のUserControlにプロパティを作ってそれをバインディングできますかだとして
それが中に向けてなのか外に向けてなのかも不明
自作コントロールがあって外部向けにTextプロパティ作ってそれが中のlabelのプロパティにバインドとか言う感じに見える

291:デフォルトの名無しさん
22/11/27 20:04:48.27 j+2lOx/H.net
>>283
>>284
それでできるんですね
バインドとコードビハインドで作るならそれで十分そう

292:デフォルトの名無しさん
22/11/28 10:46:08.62 Agm2AJo1.net
>>288
OneWayのみでいいなら、BindingProxyが使えるよ。 MAUIではFreezable classを自分で書くことになるけど。
DataContextをビハインド設定でBindingProxyでViewModelその他とか・・・

293:デフォルトの名無しさん
22/12/01 18:01:03.73 UaT6Ju5t.net
DapperのQueryでとったデータ(dynamic型)をそのまま
DataGrid(wpf)につっこむと列がダブってしまうんですが
なにか楽チンな対処法はありませんか?

294:デフォルトの名無しさん
22/12/01 20:09:52.70 MXBkvJK6.net
>>290
DISTINCT

295:デフォルトの名無しさん
22/12/02 00:12:35.02 Bt79K2Bt.net
webみたいに疑似的にモーダルダイアログを出すのってどう思う?
素直にモーダルダイアログ出しとけって感じ?

296:デフォルトの名無しさん
22/12/02 10:46:22.91 CQhUYfnN.net
ContentDialogのことなんだろうが、稀に発生するダイアログが画面の裏に表示されて押せなくなるということが物理的にないだけでも優秀だ

297:デフォルトの名無しさん
22/12/02 10:52:18.01 F90iWgnv.net
>>291
重複行ではなく列です
AutoGeneratingColumnsで作成される列が2つ表示されます

298:デフォルトの名無しさん
22/12/08 19:39:15.92 7sx7/7eA.net
メニューとかを付けたWindowに画面の中身を定義したユーザーコントロールを追加したいんですが、どのようにするのがスマートですかね?
無難にWindowの一番下のGridのChildrenにAddするのがいいんですかね?

299:デフォルトの名無しさん
22/12/09 09:42:01.65 6fkte2jG.net
ContentControl

300:デフォルトの名無しさん
22/12/09 16:29:47.92 itlB2FBH.net
WPFのXAMLで、部品の幅や高さを「残り画面いっぱい」にする方法ってありますか?
Androidのxmlでいうところの、fill_parentに相当する物を教えてください

301:.NET MAUI HighSchool
22/12/09 16:50:43.95 gQLJ96r5.net
>>297
HorizontalAlignment=stretch
とかで行けます

302:デフォルトの名無しさん
22/12/09 17:22:28.18 itlB2FBH.net
言葉足らずですいません
Grid.RowDefinitionsやGroupBoxの中だからか、Stretchでは追従してくれませんでした

303:.NET MAUI HighSchool
22/12/09 17:38:20.80 kAYpLKl/.net
じゃあそのグリッドやグループボックスのアラインメントをストレッチにすればいいのでは?

304:デフォルトの名無しさん
22/12/09 17:40:46.95 6wQe2Y2i.net
>>299
DockPanelを使って、残りいっぱいにしたいのを最後に入れる
DockPanelのLastChildFillプロパティはtrue(既定値)

305:デフォルトの名無しさん
22/12/09 18:22:42.76 itlB2FBH.net
>>301
DockPanel良いですね!
方向は四方向のようですが、右下(Right + Bottom)のような指定は出来るのでしょうか?

306:デフォルトの名無しさん
22/12/09 19:08:18.86 RZutnAlS.net
デザイナー使わずにvscodeとかで頑張ってんの?
マウスでポチポチで出来るのに

307:デフォルトの名無しさん
22/12/09 19:14:15.38 6wQe2Y2i.net
>>302
そういうのは出来ない
DockPanelのレイアウトはやってみれば分かると思うけどちょっとパズル的
場合によっては入れ子にする

308:デフォルトの名無しさん
22/12/09 20:04:42.78 itlB2FBH.net
>>304
Formsのアンカーみたいに出来るかもと思ってしまいました
右下が必要な時は、入れ子にして組み合わせます

309:デフォルトの名無しさん
22/12/09 20:11:51.65 6wQe2Y2i.net
>>305
Left(左)、Top(右上)って順番に配置すれば残りは右下になるけどね

310:デフォルトの名無しさん
22/12/09 20:35:38.71 0f6uraRf.net
>>305
クリックすればできるっしょ!
幅なしでマージンのみ指定

311:デフォルトの名無しさん
22/12/10 06:52:30.14 q9TRgP4i.net
DockPanelはタブ順がいまいちになるからあんまり使わない。
Gridをマウスでポチポチして区切ってその中にStackPanel入れるのが基本。

312:デフォルトの名無しさん
22/12/10 16:32:37.30 HHTsRwyh.net
>>299
Grid.RowDefinitionsのhieghtを”*”にすれば残り画面いっぱいになるよ

313:デフォルトの名無しさん
22/12/10 16:41:54.02 a9Jjv71r.net
height

314:デフォルトの名無しさん
22/12/10 18:44:18.88 vevfscj1.net
残り幅いっぱいってどれもこれもめんどくさいよね
WPFは統一的な仕組みがなくコントロールの挙動はその都度ググって正解を探すしかない
使い慣れてないコントロールを使うたびにあれってなってググったり過去のプロジェクトを開いて確認したりさせられる
itemtempleteとかもそう…

315:デフォルトの名無しさん
22/12/11 13:43:41.76 yD7729s9.net
gridオンリーでやれば統一的なのかもしれない

316:デフォルトの名無しさん
22/12/11 15:05:49.80 T84lMB8C.net
Gridってよくわからなくならない?
XAMLだけで編集すると特に

317:デフォルトの名無しさん
22/12/11 18:13:03.40 oV6VCzHt.net
Gridシャワーでわからなくなる人はBootstrapやFoundationでのCSSデザインは無理だな。

318:デフォルトの名無しさん
22/12/11 18:57:16.27 TMAZCbUc.net
glidにしたところでitemは最大幅にはならないよ

319:デフォルトの名無しさん
22/12/11 19:03:59.04 Z4+YwDcF.net
適当にgridでくぎってコントロール張り付け。これでOK。

320:.NET MAUI HighSchool
22/12/11 19:26:41.83 ih39IcFX.net
>>314
わかる
HTMLとCSSってマジでむずいよな
バグり方半端ないし
XAMLが安定安心だわ

321:.NET MAUI HighSchool
22/12/11 19:27:53.02 ih39IcFX.net
Blazorやっててロジック部分のC#いじるときめっちゃ面白いし楽しいのにHTMLやCSSいじるときが一番しんどかったわ…

322:デフォルトの名無しさん
22/12/11 19:33:10.67 3KSDf1Hc.net
デザイナーの方がITスキル高いからね

323:デフォルトの名無しさん
22/12/11 19:37:24.32 HcYuyEaD.net
デザイナーきたな

324:デフォルトの名無しさん
22/12/11 20:32:46.67 GglWfKZ4.net
Ruby on Rails 7 のデフォルトのCSSフレームワークは、
Bootstrap, Bulma, Tailwind, PostCSS, Dart Sass の5つ
Bootstrapが多いが、Tailwindも増えてきた
CSSが分からない香具師は、これらのフレームワークを使えばよい

325:デフォルトの名無しさん
22/12/11 20:38:13.88 cxoRZ6Df.net
cssわからないならcssフレームワーク使えないだろ

326:.NET MAUI HighSchool
22/12/11 21:02:37.38 hiewkTHT.net
>>322
これ

327:デフォルトの名無しさん
22/12/11 21:05:28.43 3KSDf1Hc.net
そこは解っとんのかい!

328:デフォルトの名無しさん
22/12/12 14:54:46.15 HJTn4+p0.net
>>317
HTMLデザインという視点でやってればな。 ベタポトWinFormみたいなもの。
HTMLはレイアウトのアクターを並べるだけであって、デザインはCSSでやる。
だからCSSデザイン。

329:デフォルトの名無しさん
22/12/12 15:07:28.77 wywn97Kl.net
外観や視覚的な要素のことだけを指して「デザイン」と呼ぶおじさんが多すぎる

330:デフォルトの名無しさん
22/12/12 17:09:05.62 H8Pyj0AO.net
はい!
デザインおじさん登場!

331:デフォルトの名無しさん
22/12/12 17:20:21.22 4QdRWR13.net
おじさんというか、ジャップな。
欧米はちゃんと設計部門=Design departmentだから。
「Design」と聞いてAesthetic designのみに捉えてしまうバカはジャップだけ

332:デフォルトの名無しさん
22/12/12 17:25:04.44 qdPeVaaE.net
あなたはジャップではないんですか

333:デフォルトの名無しさん
22/12/12 17:37:55.36 83va22zf.net
「デザイン」って日本語で書いてるのに何で欧米の事情もってくるんだよ
馬鹿か?

334:デフォルトの名無しさん
22/12/12 18:14:39.43 gfalYFvl.net
やっぱ「UIデザイン」を見た目だけのものと捉えてる人もいるのかな
何十年経ってんだって話だけど

335:デフォルトの名無しさん
22/12/12 18:18:39.68 5wAqak8D.net
元の語と若干意味が違ってくる。借用語というのはそういうものだ
>>328 はプログラミング以外も学んだほうがいい。恥をかくぞ

336:デフォルトの名無しさん
22/12/12 18:31:46.35 LkLBJ8+F.net
WPFのデザイン機能とかコントロールの配置ぐらいしかないから
CSSデザインとか全く想像すら出来ないんじゃないの?
WPFレベルでCSSにあたると大概がこの人(>>318)のように玉砕するから

337:.NET MAUI HighSchool
22/12/12 20:17:28.18 I9CBk1cW.net
>>333
いややったってば
すぐバグるしゴミだった

338:デフォルトの名無しさん
22/12/12 20:49:57.65 IxHqEtzn.net
バグってるのはブラウザじゃなくてあなたの書いたHTMLとCSSでしょ
仕様が複雑怪奇で正しく使うのが難しいのは同意するけど、現に正しく使えるエンジニアは世の中にいくらでも存在しており、よ良い代替が存在しない以上、
それをゴミだの何だのと喚いても結局あなたのスキル不足でしかないのよ

339:.NET MAUI HighSchool
22/12/12 20:51:10.86 I9CBk1cW.net
>>335
いやオレの中でゴミだったから今後使わないだろうねってことだよ

340:デフォルトの名無しさん
22/12/12 20:51:17.56 Av/AuTTr.net
バグるのはブラウザの性です!で通せばいい

341:.NET MAUI HighSchool
22/12/12 20:56:37.36 I9CBk1cW.net
>>337
いやブラウザのせいでは無いけど仕様的に頭おかしい言語だと思うわ
一回style=""でhtmlに記述したらそのスタイル削除しても後ろのCSSに一生渡せない
styleで上書きするしかなくなる

342:デフォルトの名無しさん
22/12/12 21:01:32.45 wiWaIgjz.net
お前ここでもバグとか言ってんのか
自分が無能なだけだろ

343:デフォルトの名無しさん
22/12/12 21:31:30.02 H8Pyj0AO.net
>>338
えらい低見を越えられてない事は判った

344:デフォルトの名無しさん
22/12/12 22:34:54.54 7pScB9/8.net
CSS で書くのは無理。
仕様が膨大だろ
Bootstrap でも、SASS で書く
他の部分に、影響を及ぼしてはならない。
各パーツは、疎結合で作るべき

345:.NET MAUI HighSchool
22/12/12 22:56:15.90 I9CBk1cW.net
膨大なくせに体系的に纏められてないんだよな

346:デフォルトの名無しさん
22/12/12 23:04:51.21 H8Pyj0AO.net
>>341
Scoped CSS

347:デフォルトの名無しさん
22/12/13 20:42:43.55 krvBGeJn.net
UserControlクラスってなんか特殊なの?
UserControlを継承したクラスのコレクションをListBoxのItemSourceに設定したんだけど、全然バインドしてくれない
UserControlの継承をやめてただのクラスにするとバインドされるようになる

348:デフォルトの名無しさん
22/12/14 01:25:17.43 22KidZsA.net
XamlにUserControl書いておいてそこに他のコントロールをコード側で代入するような使い方はしたことあるな

349:デフォルトの名無しさん
22/12/14 02:01:01.05 oM3zst/N.net
なんか困った記憶があるな
なんかバインドのタイミングが遅かったかViewModelの構造だったか

350:デフォルトの名無しさん
22/12/14 06:34:22.03 7m/OWdKG.net
WINFORMのpanelコントロールはWPFあるの?

351:デフォルトの名無しさん
22/12/14 12:03:59.99 s1eOj5IL.net
>>347
用途によって細分化されてる
コントロールを並べたいならWrapPanelやDockPanelなど
スクロールバーを使いたいならScrollViewer

352:デフォルトの名無しさん
22/12/14 20:03:29.32 lgfHKaNI.net
Win11だと、OneDriveの設定画面がWinUI化してた。超見やすい!
ただWinUI 三なのかはわからず...

353:デフォルトの名無しさん
22/12/14 21:00:14.50 XhtdH9iq.net
MAUIはゴミだと良く判る展開ω

354:.NET MAUI HighSchool
22/12/14 22:33:40.69 IUJ3tLdU.net
>>350
どこが?
普通に使えるけど?

355:.NET MAUI HighSchool
22/12/14 22:35:12.86 IUJ3tLdU.net
>>349
いいね
こっちもWinUI3なのかわからんけどOfficeの最新版はWinUI3っぽい

356:デフォルトの名無しさん
22/12/14 22:52:25.60 SeJwPry4.net
そもそもマルチプラットフォームって需要あるの?

357:.NET MAUI HighSchool
22/12/14 23:01:08.16 IUJ3tLdU.net
>>353
あるだろそりゃ

358:デフォルトの名無しさん
22/12/15 20:00:02.02 4+o9r+AK.net
簡単なマルチアプリならFlutter辺りでササっと作って、
それなりのアプリならネイティブ環境でそれぞれ作った方が楽だと思う

359:デフォルトの名無しさん
22/12/15 20:34:55.93 tmBA8a+G.net
Windows 10の電卓が新しいUIになっていた

360:.NET MAUI HighSchool
22/12/15 21:17:01.89 2R9Yeg7n.net
>>355
いや普通にMAUIのほうが楽だろ
Blazor Web ViewでHTML,CSS使えるようになったし
URLリンク(youtu.be)
このアプリなんか3ヶ月だとさ
URLリンク(dev.to)

361:.NET MAUI HighSchool
22/12/15 21:18:40.15 2R9Yeg7n.net
Flutterってそんな簡単にアプリ作れるイメージないんだが
Dartで全部UI書くんだぜ?
馬鹿だろ
しかもMVUだから普通のプログラミングとは一癖も二癖も違う
変数は一回全部Stateに入れる必要あり

362:.NET MAUI HighSchool
22/12/15 21:19:22.89 2R9Yeg7n.net
まさかC#とXAMLでGUIアプリ作ってるやつがFlutterなんか勧めるとはね

363:.NET MAUI HighSchool
22/12/15 21:20:59.13 2R9Yeg7n.net
とりあえず俺の作ったアドベントカレンダー見れば別にMAUIでもいいやってなるよ
特にC#普段使ってるのであれば
URLリンク(qiita.com)

364:デフォルトの名無しさん
22/12/15 21:22:35.62 +bb6kkB4.net
なんか大変なんだな。
android studioでやってるけどiOS版はあきらめろんだな。

365:.NET MAUI HighSchool
22/12/15 21:24:43.25 2R9Yeg7n.net
>>361
AndroidStudioとVisualStudioどっちが使いやすいとかある?
VisualStudioしか使ったことないわ

366:デフォルトの名無しさん
22/12/15 21:25:28.65 fvxr8nGQ.net
デスクトップアプリ何で作る?
最低要件(最低限これくらいは満たしてね)チェックシート2022
============================================================================

チェック用アプリ仕様:
 アプリ上の"はろー"ボタンをマウスでクリックしたらメッセージボックスで"わーるど"を表示する

(1)配布要件1:動作させるのに必要なファイル一式を任意の場所に配置して動作する
(2)配布要件2:管理者権限不要で配置できる
(3)配布要件3:動作させるのに必要なファイル数が10以内 ※1

(4)起動要件1:エントリファイルをダブルクリックして起動可
(5)起動要件2:エントリファイルをPowerShellから起動可
(6)起動要件3:管理者権限不要で起動可
(7)起動要件4:ネットワーク切断状態(スタンドアロン)で動作する

(8)メモリ要件:
 A:起動時の消費メモリが20MiB以内
 B:起動時の消費メモリが40MiB以内

(9)ストレージ要件:
 A:動作させるのに必要なファイルサイズ合計が200KiB以内 ※1
 B:動作させるのに必要なファイルサイズ合計が1MiB以内 ※1

※1. OSにプリインストールされているランタイムは除く

============================================================================
(1)~(7)はYesの場合+10, Noの場合は-100
(8)~(9)はAの場合+10, Bの場合+5, その他は-100

合計点80以上が合格ライン(当然点数は高ければ高いほど優秀)

367:.NET MAUI HighSchool
22/12/15 21:27:02.28 2R9Yeg7n.net
モバイルSuicaとかXamarinだからC#だぞ?
ReactiveUI使ってた

368:デフォルトの名無しさん
22/12/15 21:35:14.51 +bb6kkB4.net
>>362
android studio の方が使いやすいな。
変数名とかのリファクタは便利過ぎる。
UIなxmlも書き換えてくれる。
Windows アプリはVisual Studio でc#のwinformsだけどね。
2019の方が良かったな2022はちょっとうっとおしい、設定調べなきゃ。

369:.NET MAUI HighSchool
22/12/15 21:39:52.50 2R9Yeg7n.net
>>365
そうなんだ…

370:デフォルトの名無しさん
22/12/15 22:28:59.48 uzUQknvL.net
>>358
めちゃくちゃ楽だよ。
UI書くのに便利なように言語仕様変えたレベルだからあれ。

371:.NET MAUI HighSchool
22/12/15 22:32:02.22 2R9Yeg7n.net
>>367
どこが楽なんだよ

372:.NET MAUI HighSchool
22/12/15 22:33:44.51 2R9Yeg7n.net
どっちもやったことないのまるわかりなんだがw

373:デフォルトの名無しさん
22/12/15 22:46:33.30 uzUQknvL.net
>>368
XAMLと比べて、だと、まずリファクタリングと言うか思いつきで作ったあと部品に分けたりするのがめちゃくちゃ楽。
言ってしまえばただの定数宣言と関数の返値なので、普通にIDEでポチポチできる。
ファクトリ関数的な物でUI部品作ったり、あとはReactで言うHOCみたいなものも作りやすいね。
XAMLのテンプレートは黎明期からずっとクソを引きずってるので本当にクソ。MauiでもコードでUI作る奴の方に期待してる。
というか、今時UIにバインドする物はぜんぶState入れるだろ。
コードビハインドからゴリゴリするとか行儀悪すぎでは?

374:.NET MAUI HighSchool
22/12/16 04:34:35.28 3qj0lL1U.net
>>370
全く値変わらないWidthやHeight,FontSize,FontAttributeについてもわざわざState入れてんの?
くそめんどすぎるわw
しかもわざわざChildだのChldrenだの書いてさw

375:.NET MAUI HighSchool
22/12/16 04:38:14.59 3qj0lL1U.net
保守や維持管理についてもXAMLの方が圧倒的に上
Dartはこいつがなんのコントロールなのかすらわからん

376:.NET MAUI HighSchool
22/12/16 04:39:02.72 3qj0lL1U.net
まずプロパティでいいところをウェジットにしてる時点で設計が間違ってることに気づこう
これでクリーンアーキテクチャとかよく言えたもんだわw

377:デフォルトの名無しさん
22/12/16 08:28:18.07 y/cTcjAQ.net
>>371
入れないよ。全く変わらないんでしょ。
それは定数で書くし、なんならその値が設定された専用のウィジェットとかウィジェットを返す関数を作る。
プロパティで良いところはプロパティなんだけどな。それに、今時そこまでStatefulWidget使わずに、StatelessWidget使ってバインドするだけでは?
もしかしてあんまりAndroid Studioとかまともな環境で書いたこと無い…?

378:デフォルトの名無しさん
22/12/16 08:29:10.14 y/cTcjAQ.net
プロパティですむところをウィジェットにする、の意味がイマイチ伝わってきてないんだけど、どういうことなの?

379:.NET MAUI HighSchool
22/12/16 09:17:06.20 3qj0lL1U.net
>>374
だからMVUだからその定数が入れられねぇんだろ

380:.NET MAUI HighSchool
22/12/16 09:1


381:8:03.15 ID:3qj0lL1U.net



382:.NET MAUI HighSchool
22/12/16 09:18:22.93 3qj0lL1U.net
すまんウィジェットな

383:.NET MAUI HighSchool
22/12/16 09:19:57.66 3qj0lL1U.net
もしかしてこいつMVUで書いたことないのにFlutterはMVUだからぁとか言ってる感じ?

384:デフォルトの名無しさん
22/12/16 09:30:27.68 9RcwZzV9.net
ウィジットの意味わかってないただの馬鹿で草

385:.NET MAUI HighSchool
22/12/16 10:32:52.36 3qj0lL1U.net
>>380
どこが?
すべてがウィジェットだろFlutterは

386:.NET MAUI HighSchool
22/12/16 10:33:26.47 3qj0lL1U.net
だからチルドレンだのチャイルドが多くなってわけわからんようになるんよ

387:.NET MAUI HighSchool
22/12/16 10:35:07.38 3qj0lL1U.net
普通に考えてXAML+C#のが直感的だわな
得意なことをやらせましょーねーだもん
逆に不得意なところでもまぁまぁできるようにしたよが宣言的UIと呼ばれるやつ

388:デフォルトの名無しさん
22/12/16 10:53:55.23 9RcwZzV9.net
xamlも宣言的UIと言うんだが
ウィジットといいこいつ言葉の意味理解してなくて会話が成り立たねぇw

389:デフォルトの名無しさん
22/12/16 11:10:21.55 9RcwZzV9.net
つか、最新の宣言的UIのjetpack compose使ってみれば?
お前の大嫌いなchildやchildrenなくなってるから(笑)

390:デフォルトの名無しさん
22/12/16 11:12:10.46 9NyHvpgk.net
>>376
えっ…?
例えば、これはScaffoldといって、XAMLで言うとPage系の親玉みたいなウィジェットなんだが、
URLリンク(api.flutter.dev)
どれが定数を使えず、ウィジェットになってるの?
というか、ウィジェットが定数になっていて実行時にはノーコストと言うことがわかってない?
ちなみにChildrenはXAMLでも存在してるよ。タグの中身の事よ。
複数の要素がとれるものがchildren。一個しかおけないものがchildになってるだけで。

391:デフォルトの名無しさん
22/12/16 11:13:15.44 9NyHvpgk.net
>>383
DartがUI作るの不得意なんじゃなくて、おまえがDartでUI作るの下手なんじゃないかな…。
俺はMAUIの記事も読んでるし、MAUIは好きなので、もう少しフラットにやって欲しいと思ってる。

392:.NET MAUI HighSchool
22/12/16 12:19:17.66 3qj0lL1U.net
>>384
何いってんだこいつ?

393:.NET MAUI HighSchool
22/12/16 12:19:35.97 3qj0lL1U.net
>>385
別にMAUIあるから使わんし

394:.NET MAUI HighSchool
22/12/16 12:20:32.74 3qj0lL1U.net
>>387
下手だろどう見ても
どんだけChildすんの?
ドンだけネストすんの?
どんだけ{}つけんの?
そんで保守、維持管理は?

395:.NET MAUI HighSchool
22/12/16 12:23:09.44 3qj0lL1U.net
>>386
?定数が見当たらないねぇwww

396:.NET MAUI HighSchool
22/12/16 12:23:58.08 3qj0lL1U.net
>>386
タグの中身がチルドレンなのはFlutterだろ
MAUIのタグの中身は全部プロパティだよ

397:.NET MAUI HighSchool
22/12/16 12:24:31.63 3qj0lL1U.net
もう少しFlutter勉強してから反論してね

398:デフォルトの名無しさん
22/12/16 13:02:13.49 v/WBGZC6.net
けんかをやめて 二人をとめて 私のために争わないで もうこれ以上

399:デフォルトの名無しさん
22/12/16 13:37:34.51 k2UX0a1O.net
このmauiキチガイ、無知すぎる上に頭がおかしいから会話が噛み合わなくて議論が成り立たないのよ
下手に構うとこんな感じで暴れだして迷惑この上ないから「.NET MAUI HighSchool」をNGにして一切相手しないほうがいい

400:.NET MAUI HighSchool
22/12/16 13:51:33.77 3qj0lL1U.net
>>395
いや無知のくせに反論してくるやつがやばいでしょ

401:.NET MAUI HighSchool
22/12/16 13:52:10.10 3qj0lL1U.net
てかここWPFのGUIプログラミングスレなんだがwDartとかはなからお呼びでないwww

402:デフォルトの名無しさん
22/12/16 15:23:33.81 y/cTcjAQ.net
>>391
constが全部定数なんだけど、なんか認識に齟齬がある?

403:デフォルトの名無しさん
22/12/16 15:25:02.91 y/cTcjAQ.net
>>392
違うよ。
URLリンク(learn.microsoft.com)
child で検索してみ。

404:.NET MAUI HighSchool
22/12/16 15:27:25.72 3qj0lL1U.net
>>398
コンストに全部入れてんじゃねぇかよw

405:.NET MAUI HighSchool
22/12/16 15:29:12.61 3qj0lL1U.net
>>399
いやラベルコントロールのテキストプロパティ、フォントサイズプロパティ、Width,Heightプロパティなんだが…
Flutterはテキストウィジェット、フォントサイズウィジェット、Width,Heightウィジェットだろ

406:.NET MAUI HighSchool
22/12/16 15:30:35.65 3qj0lL1U.net
Lable Text="テキスト"が
const x="テキスト"
Text(x)にしなきゃいけない時点でゴミでは?

407:デフォルトの名無しさん
22/12/16 18:42:30.44 7WDn8dDG.net
迷言製造機と化してるな

408:.NET MAUI HighSchool
22/12/16 18:44:28.74 asU47cD3.net
>>403
フラカスさんのことか

409:.NET MAUI HighSchool
22/12/16 19:01:49.54 sknjpXks.net
C#のスレなのにフラカスさんいんのなんで???

410:デフォルトの名無しさん
22/12/16 19:29:25.98 r9GGL7g9.net
>>399
相手するだけ徒労だよ
スレが汚れるだけたからもうこいつに触らないでくれ

411:デフォルトの名無しさん
22/12/16 20:10:42.41 Bfiz2pmM.net
>>400
入れてるよ。constに入れると当たり前だけどコンパイル時に解決されて実行時に一切パフォーマンス劣化しないから…XAMLでも同じオプションあるぞ。
>>401
違うが…
ウィジェットって何だと思ってるの?

412:デフォルトの名無しさん
22/12/16 20:12:18.62 Bfiz2pmM.net
>>402
XAMLでもじゃん。
なんなの?コードビハインドから代入して作ってるの?やばくない?
なおflutterでもそんな事はやらないんだが。

413:デフォルトの名無しさん
22/12/16 20:13:23.86 Bfiz2pmM.net
>>405
俺はどっちもやるが、おまえは片方の(しかも足りない)知識で暴れてんだぞ。
冷静にやってくれ。

414:.NET MAUI HighSchool
22/12/17 00:11:41.61 WFRGIGZB.net
>>408
は?
普通にWidth="500"とかだろ
わざわざBindingさせてんの???

415:.NET MAUI HighSchool
22/12/17 00:12:17.31 WFRGIGZB.net
>>409
xamlすらやってないのが明白なんだがwwww

416:.NET MAUI HighSchool
22/12/17 00:17:29.59 WFRGIGZB.net
たったこれだけでどんだけChild書かなきゃ行けないんだろうねwwww
URLリンク(flutterui.design)

417:デフォルトの名無しさん
22/12/17 00:44:47.02 nDxZpCRv.net
そんな、flutterが優れてる部分もあるしxamlが優れてる部分もあるだろ
それを1個ずつあげてもきりがない
ただトータルすると
flutter>>ゴミmaui
になるだけ

418:デフォルトの名無しさん
22/12/17 00:47:05.92 nDxZpCRv.net
だから登場は前身のxamarin含めてmauiの方が歴史あるのにあっという間にflutterに追い抜かれてる笑

419:デフォルトの名無しさん
22/12/17 01:01:11.10 jMmHnzia.net
>>410
500固定で良いならリテラルでそう書けるよ。
知らなさそうだから言うけど、ウィジェットってのは概ね意味のある物を画面に出すものを指すな。
だから、Textなんかはフォント設定とともにウィジェットになってる。XAMLのタグとそうかわらんよ。

420:デフォルトの名無しさん
22/12/17 01:02:46.14 jMmHnzia.net
>>411
WPF最初期からやってるんだねど。
>>412
XAMLでもタグの中にタグ書くじゃん。
記述量の話してんの?
一回ちょっとおまえの思うシュッとしたMAUIのソースをgithubのせてよ。

421:.NET MAUI HighSchool
22/12/17 01:47:47.69 WFRGIGZB.net
>>413
MAUI≫Flutterの間違いでは?
.NETerなのにその辺理解できないとかやばくね?
ほんとにC#erか?

422:.NET MAUI HighSchool
22/12/17 01:49:17.05 WFRGIGZB.net
>>416
タグの中にタグ書くがChildだの意味のない文字を加えることなんてないよ

423:.NET MAUI HighSchool
22/12/17 01:50:41.87 WFRGIGZB.net
>>416
いや…ただボタン並べてるだけでこれとかマジで無駄じゃん?
維持管理もしにくいし良いことない
お前はこのコード見てどれがどのボタンかわかるか?
俺はわからん

424:.NET MAUI HighSchool
22/12/17 01:53:44.92 WFRGIGZB.net
これとかかな
普通に何書いてるかわかりやすいし変更が容易
Webでなぜ未だにHTMLが使われてるのか見ればわかるだろ
URLリンク(github.com)

425:デフォルトの名無しさん
22/12/17 09:14:17.52 AZCBrKeq.net
単にタイピング量が多いって話かね?
何を問題にしているのかはっきり書かないといまいち意図が通じない。

426:.NET MAUI HighSchool
22/12/17 11:36:46.57 WFRGIGZB.net
>>421
いや…タイピング量が多いとかじゃなくて維持管理、保守、改修大変だろ

427:デフォルトの名無しさん
22/12/17 11:47:10.06 jMmHnzia.net
>>418
何が意味の無い文字なんよ。
XMLでは書かない、以外の意味なくない?
>>419
わかるよ。
俺も、何が問題か全くわからん。
XMLで書ければ満足なの?
あんまり変わらないでしょMAUIも。
URLリンク(github.com)
表層的な違いに捕らわれすぎでは?

428:デフォルトの名無しさん
22/12/17 11:49:09.81 jMmHnzia.net
>>422
全部楽になるよ、IDEでの一括リネームもすっきりできるし、Deadcodeも簡単に検出できる。
UIの単体テストもモックを差し込みやすいし簡単にできるようになるね。

429:デフォルトの名無しさん
22/12/17 12:14:33.45 CiJibD/c.net
このクソコテはともかく、WPF使ってるような人はクソドカタの書いたtableやdiv満載のやつじゃないまともなHTML/CSSを見たことなさそう
ちゃんとセマンティックに書かれたやつは無茶苦茶分かりやすいぞ

430:デフォルトの名無しさん
22/12/17 12:25:54.05 jMmHnzia.net
WPFでもガッツリやってたところはBlendでデザイナーの人に作ってもらったりして、それなりに綺麗なXAML見慣れてるから、案外HTMLも綺麗な人が多いんじゃない?
問題はWPFですらポトペタで作って、コードビハインドから無理矢理プロパティを変えてた層よ。

431:.NET MAUI HighSchool
22/12/17 12:28:09.20 EKmrQGNL.net
>>423
CometはただのMVUフレームワークであってMAUIじゃないよ?
てかWPFでGUIアプリ作ってるならC#とxamlに分ける重要性わかってると思ってたけどそうじゃないんだな

432:.NET MAUI HighSchool
22/12/17 12:29:09.39 EKmrQGNL.net
>>424
楽にならんだろ
何いってんだこいつ?
なんでWPFや多くのGUIフレームワークがC#とXAMLで書かれてるのか理解してない
もうGUIアプリの開発やめなよ

433:デフォルトの名無しさん
22/12/17 12:51:27.79 LxPv4Jg4.net
>>427
重要性、結局の所何を目的にしてんの?
保守性というのであれば、コードとコードに分割したって何も問題無いよね、というのがこのあたりのMVU。
flutterでもサンプル以降はロジックと表示は分けてる。
>>428
おまえがそれしか知らないからでしょww
React系とかやったら一秒でわからん?

434:デフォルトの名無しさん
22/12/17 12:54:25.92 nDxZpCRv.net
>>317,318
でHTMLディスってるのに
>>420
で突然HTML持ち上げて矛盾したこと主張してて草

435:デフォルトの名無しさん
22/12/17 12:56:17.76 LxPv4Jg4.net
単に言い負かしたいだけなんでしょ。

436:デフォルトの名無しさん
22/12/17 13:08:28.43 x4b3fIZo.net
で、ターゲットは何ですか?

437:デフォルトの名無しさん
22/12/17 13:27:21.49 J9CPTir1.net
周りが分かりにくいって思ってる時点で保守性低いのに、なんでそれだけのことが分からないんだろうな

438:.NET MAUI HighSchool
22/12/17 14:09:40.96 WFRGIGZB.net
>>429
そんでこのDart見て何がなんだか分かんのか?
それは一重に保守性が無いってことなんだよカス

439:.NET MAUI HighSchool
22/12/17 14:12:07.69 WFRGIGZB.net
>>430
馬鹿だなぁ
俺はHTMLとCSSはバグばっかで体系的にもまとまってないクソ言語だが主にUIを描画するのに便利なHTML,CSSと機能であるJavaScriptの関係は素直に認めてんだよ
ホントはHTMLもJavaScriptもゴミ言語であることは変わりないんだがな

440:.NET MAUI HighSchool
22/12/17 14:12:20.74 WFRGIGZB.net
>>433
だよな

441:デフォルトの名無しさん
22/12/17 14:20:55.84 ALkYq4Bb.net
>>434
わかるよ。

442:.NET MAUI HighSchool
22/12/17 14:23:30.11 WFRGIGZB.net
>>437
サンクス

443:デフォルトの名無しさん
22/12/17 15:03:01.46 P2yWj1mA.net
>>435
またおまえバグとか言ってんのか
cssはバグってねえよ
単に使いこなせていないだけ
それをバグっていうのはおまえだけだ

444:デフォルトの名無しさん
22/12/17 15:14:44.73 M4KsiDFx.net
DataGridの編集ってなかなか難しそうだな。
無理そうだw

445:デフォルトの名無しさん
22/12/17 16:06:42.63 B2zVNekM.net
便乗で
DataSetをdataGridViewのDataSourceに割り当てて
DataSetにDataTableを2個定義しています。
DataTableは2列定義して、特定の行の2列目をComboBoxにしたいけど出来ますか?

446:デフォルトの名無しさん
22/12/17 16:27:34.79 CiJibD/c.net
>>426
うーん、XAMLにはセマンティックの概念が無いから、同じノリでHTML書いたらdivだらけのクソになりそうじゃない?
セマンティックなHTMLに比べたら、綺麗に手書きされたものであっても実際読みにくいよXAML

447:デフォルトの名無しさん
22/12/17 16:42:45.32 0b0HT0Qx.net
XAMLはタダのオブジェクトの設計図だから
基本的な構造とデザインと挙動がごちゃ混ぜになってる
全体を見ると > みたいな形で階層が深く見通しが悪い
お世辞にも見やすいとは思わない

448:デフォルトの名無しさん
22/12/17 16:43:59.49 jMmHnzia.net
>>442
そんなこと無いんじゃないか…?真面目にコンポーネント作ってたけどな。
何でもGrid作るマンみたいなのが一番いかんのは確かにそうなんだけど。

449:デフォルトの名無しさん
22/12/17 17:24:03.07 CiJibD/c.net
>>444
いやXAMLではGridを積極的に使う方がレイアウトのための余計な階層が増えなくて好ましいでしょ
いずれにせよセマンティックHTMLに比べたら遠く及ばない低次元の話だけどね

450:デフォルトの名無しさん
22/12/17 17:31:35.63 jMmHnzia.net
>>445
そう言うところがセマンティックでなくしてる原因でしょ。
適切なコントロール作らないからでは?

451:デフォルトの名無しさん
22/12/17 17:36:08.18 NDyBwCeS.net
Windows App SDK 1.22出たけど無関心すぎる
地味に不具合修正しているから助かるんだけどね

452:デフォルトの名無しさん
22/12/17 17:37:33.08 0b0HT0Qx.net
Gridを使うしかないけどXAMLの見通しが異常に悪くなる
ヘッダ
記事もしくはアプリケーションの本体
フッタ
みたいな構造にしなくてもいいし出てくる順番もめちゃくちゃ
excel方眼紙と何も変わらない

453:デフォルトの名無しさん
22/12/17 17:41:23.28 jMmHnzia.net
ホントにそんな酷いXAML書いてるのみんな?ユーザーコントロール使わないの…?
そんなWindows 7の時代じゃないんだから…

454:デフォルトの名無しさん
22/12/17 17:54:35.91 AZCBrKeq.net
HTMLの場合は使用できるタグが固定なんでそのセマンティクスもほぼ規定されたものになるけど
XAMLは自由度が高いんで使う側の意識の高さ次第ってところはあるな。

455:デフォルトの名無しさん
22/12/17 17:58:18.70 0b0HT0Qx.net
xamlにユーザーコントロール入れたところでレイアウト要素を入れないといけない
デザインや振る舞いも入ってる
これがいけない
そこが本質なんだけど

456:.NET MAUI HighSchool
22/12/17 17:58:43.36 WFRGIGZB.net
>>443
Dartより遥かにマシ

457:デフォルトの名無しさん
22/12/17 18:11:26.51 0b0HT0Qx.net
>>452
おいおいDartは言語だろ…
Vue.jsやreactみたいのは面白いと思う
描画は別にxml直の必要はない
debugは大変かもしれないけどw
Xamlはユーザーコントロールを書けたとしても
<window>
 <記事欄>
  <記事 />
  <記事 />
 </記事欄>
</windows >
みたいに記述してもレスポンシブに描画する簡単な仕組みがないのがガンだな
ストアアプリを書いてた頃は絶望したな

458:デフォルトの名無しさん
22/12/17 18:11:47.71 CiJibD/c.net
ユーザーコントロールを論理的なグルーピングとして多用するとそれはそれで見通し悪くなるし、データの依存関係なんかも無駄に複雑になるよね
コンポーネント化を気軽に多用するのはReactみたいな軽量な技術と洗練されたデータフローがあってこそ成り立つのよ

459:デフォルトの名無しさん
22/12/17 18:12:17.97 jMmHnzia.net
>>451
レイアウトとかも必要ならカスタムコントロールにレイアウトさせれば良いじゃん。
ベタベタに作ってしか無いんでは?
>>453
カスタムコントロールにあるよ。

460:デフォルトの名無しさん
22/12/17 18:14:11.33 jMmHnzia.net
>>454
そこまでReactなんかと違うことやってないけどなぁ。

461:.NET MAUI HighSchool
22/12/17 18:16:07.74 WFRGIGZB.net
>>453
XAMLも言語だが?

462:.NET MAUI HighSchool
22/12/17 18:17:18.25 WFRGIGZB.net
>>456
だよなぁ…
頭悪いよなこいつ

463:デフォルトの名無しさん
22/12/17 18:19:58.58 0b0HT0Qx.net
>>457
まともに考えてそういうレスしてんの?
それともネタ?

464:デフォルトの名無しさん
22/12/17 18:21:36.78 W2MqiuLT.net
ESP32などのハイポテンシャルチップでGUIやっている身からすると、Widgetとイベント機構設計する手間考えたらXAMLは出来過ぎた環境だと思うがな。
中の動作を知っていればだけど・・・
まぁ WPFもWinUIもMAUI for DeskTopとして一元化して欲しいとは思うこの頃。

465:デフォルトの名無しさん
22/12/17 18:22:54.19 0b0HT0Qx.net
>>455
WPF用にレスポンシブレイアウト可能なコントロールでたんか
良かったなそれは

466:デフォルトの名無しさん
22/12/17 18:27:09.25 jMmHnzia.net
>>461
そう言うの毎回Gridで作らなくても普通は作ってるでしょと言う話なんだが。
誰かに作ってもらうまで作らないの?

467:デフォルトの名無しさん
22/12/17 18:33:34.21 0b0HT0Qx.net
>>462
普通は作らないでしょw

468:デフォルトの名無しさん
22/12/17 18:39:46.83 jMmHnzia.net
>>463
どう考えても「基本的な構造とデザインと挙動」をごちゃ混ぜにしか作れないという感じに聞こえるんだが。
ググってみなよ。みんな作ってるよ。

469:デフォルトの名無しさん
22/12/17 18:41:35.96 0b0HT0Qx.net
学習時間もかかる
バッドノウハウだらけ
ボイラープレートだらけで実装に時間がかかる
どんどん間口が狭くなって開発者も減る
template studioみたいのが出てくるのはそういう理由
でも結局過去のストアアプリのテンプレートみたいにちょっといじって思い通りにならなかった場合
熟練者以外どこが悪いのかが判別できなくなる

470:デフォルトの名無しさん
22/12/17 18:42:28.03 0b0HT0Qx.net
>>464
イベントトリガーなどが入ってる時点でもう本質から離れてる


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch