WPF(.NET, WinUI) GUIプログラミング Part30at TECH
WPF(.NET, WinUI) GUIプログラミング Part30 - 暇つぶし2ch2:デフォルトの名無しさん
22/10/29 14:42:22.78 OLrOtMPX.net
ListViewでマウスダブルクリックで指定したカラムのデータ取得はどうやるんです?

3:デフォルトの名無しさん
22/10/29 18:00:12.60 CXQz1XIj.net
依存関係プロパティを簡単に実装する方法ってある?

4:デフォルトの名無しさん
22/10/29 18:05:14.40 5hK4Xoon.net
>>3
propdpと書いてタブ

5:デフォルトの名無しさん
22/10/29 18:07:58.83 5hK4Xoon.net
>>2
かずき listbox ダブルクリック command

6:デフォルトの名無しさん
22/10/29 18:15:13.69 uEnFexVv.net
またWinUIと混ぜたのか

7:デフォルトの名無しさん
22/10/29 18:53:12.92 OLrOtMPX.net
>>5
もちろん色々調べたんだが、ListViewにデータ表示
する手法がいろいろあるでしょ。
それでうまく利用できなくて。
まぁ知識不足ということなんだが。。

8:デフォルトの名無しさん
22/10/29 18:58:58.67 5hK4Xoon.net
>>7
データの取得をきいてるのにわからないのは表示なのか

9:デフォルトの名無しさん
22/10/29 19:18:38.03 OLrOtMPX.net
>>8
見よう見まねで表示はできたがクリックして


10: 取得がうまくいかずって事です。 サンプルであった取得を利用しようと思っても ダメでした。そりゃ技量不足なのは言うまでも ないんだが。。 それにしてもクリックして取得のサンプルだけでも かなりのステップ数でホンマ大変ですわ。



11:デフォルトの名無しさん
22/10/29 19:30:28.53 5hK4Xoon.net
>>9
かずきをキーワードに加えてるんだからかずきのブログを見ろよ
検索結果の一番上
表示も含めてまんまやりたいことが書いてあるはずだがそれでできないなら知らん

12:デフォルトの名無しさん
22/10/29 19:35:47.68 4Uvhy/0b.net
具体的に書くともっと的確なレスつくだろ
ダブルクリックのイベントが拾えない?
イベントは拾えたがどうやって関連データ取るの?
ピンポイントで

13:デフォルトの名無しさん
22/10/29 19:38:27.85 OLrOtMPX.net
いろいろすんません。ちょっと勉強してくるわ。

14:デフォルトの名無しさん
22/10/29 20:47:06.70 qwl0XTeX.net
ここまで >>1乙 無し

15:デフォルトの名無しさん
22/10/29 21:00:55.71 OLrOtMPX.net
listviewの件
URLリンク(www.fenet.jp)
ここなんですよ。ダブルクリックでどうやって指定したカラムのデータとるのかな、
と思って。

16:デフォルトの名無しさん
22/10/29 21:20:55.05 AHyDFjq2.net
ここって何だ
ListViewなら知ってるぞ

17:デフォルトの名無しさん
22/10/29 21:44:45.83 OGteGRtm.net
>>14
ListViewのMouseDoubleClickイベントで
(User)ListView.SelectedValueでUserちゃん見たらいいんじゃないの

18:デフォルトの名無しさん
22/10/29 22:29:21.62 pxDcU15g.net
wpfは頑張ればダブルクリックを使えるけど、基本はシングルクリックで動かすように出来ています
ダブルクリックを頑張るよりシンクルクリックで設計したほうが賢いよ

19:デフォルトの名無しさん
22/10/29 22:37:20.15 AHyDFjq2.net
>>17
嘘つけw

20:デフォルトの名無しさん
22/10/30 06:47:00.66 J6pK8pxJ.net
>>16
MessageBox.Show ( ListView.SelectedValue.ToString());
トホホ~。やってみましたがでませんでした。

21:デフォルトの名無しさん
22/10/30 07:10:56.12 A1wSH6ms.net
普通引っかからないところで引っかかって教えられたことを聞かず試行錯誤繰り返してるやつがいると、まるで難しいことのように見えるな

22:デフォルトの名無しさん
22/10/30 07:19:30.99 KtvTwplX.net
調べる前に聞くタイプだな
一番面倒なやつ

23:デフォルトの名無しさん
22/10/30 08:02:20.93 J6pK8pxJ.net
一応、
ListView c# WPF ダブルクリック などの語句で調べてはいます。
MFCの方がよっぽど楽だな。

24:デフォルトの名無しさん
22/10/30 08:53:35.92 +yEKUb5X.net
>>18
例えばボタンのクリックはCommandをバインドすればいいけど、ダブルクリックはビヘイビア噛まさないとVMへ通知が出来ない
WPFはシングルクリック優先で設計されてるんだよ

25:デフォルトの名無しさん
22/10/30 09:34:34.97 J6pK8pxJ.net
>>23
そうなんだ。
奥が深いというか改めて面倒なんだなと思いました。

26:デフォルトの名無しさん
22/10/30 11:17:59.61 J5x/gUfl.net
それボタンの話だろw
どんなフレームワークでもボタンはクリック優先だわな

27:デフォルトの名無しさん
22/10/30 16:03:55.87 DkOekoOd.net
アプリの中でダブルクリックさせようとしてるのがセンスないんじゃないの

28:デフォルトの名無しさん
22/10/30 16:08:13.76 nQTU3WLr.net
Windows標準のエクスプローラで、ダブルクリック使うんだが
何いってんの?

29:デフォルトの名無しさん
22/10/30 17:30:21.35 DkOekoOd.net
あ、この人センスないわ

30:デフォルトの名無しさん
22/10/30 17:36:44.79 A1wSH6ms.net
ダブルクリックなんてよく使うアクションを使うなという方が客観的に見てセンス無いがここは初心者がトンチンカンなことを言うスレだから仕方ないか

31:デフォルトの名無しさん
22/10/30 18:00:28.14 KtvTwplX.net
わかってるじゃんw

32:デフォルトの名無しさん
22/10/30 18:49:04.83 H52Qkbiq.net
初心者に優しくない技術って廃れるよな

33:デフォルトの名無しさん
22/10/30 19:08:18.65 A1wSH6ms.net
Winformsは廃れたな

34:デフォルトの名無しさん
22/10/30 21:43:21.74 +d9s9Afp.net
Winformはダサいからね

35:デフォルトの名無しさん
22/10/30 22:03:55.21 A1wSH6ms.net
Reactは初心者に優しくないが廃れてないな

36:デフォルトの名無しさん
22/10/30 22:06:07.06 +d9s9Afp.net
Blazorあるから時期に潰れるだろね

37:デフォルトの名無しさん
22/10/31 00:08:31.05 WMzulB9K.net
潰れるかw

38:デフォルトの名無しさん
22/10/31 06:00:17.22 Qc/loaUZ.net
>>14
で、結局この問題は解けないのか。。

39:デフォルトの名無しさん
22/10/31 08:07:14.46 SGtVENaU.net
今ググったらすぐ答え出てきたけど何を検索してたの?

40:デフォルトの名無しさん
22/10/31 08:11:26.80 GLsEtfBh.net
ていうか教えたのに聞かないだけだから放置でいいぞ

41:デフォルトの名無しさん
22/10/31 08:27:30.10 ISriQRRr.net
検索した結果が正しい訳ではないよ。
試したの?

42:デフォルトの名無しさん
22/10/31 08:28:46.76 GLsEtfBh.net
うぜえw

43:デフォルトの名無しさん
22/10/31 08:59:17.38 BBD1kLj8.net
アプリの中でダブルクリックがほとんど使われてないことに気づいてしまった・・・

44:デフォルトの名無しさん
22/10/31 09:05:53.25 WMzulB9K.net
結局こんな簡単なことを自分ができないからWPFそのもののせいにするやつは何やっても無能ってだけ

45:デフォルトの名無しさん
22/10/31 09:07:44.15 GLsEtfBh.net
試しに中学生の甥に実装させてみたら10分でやりおったわ

46:デフォルトの名無しさん
22/10/31 09:19:45.59 jAJ0SKjr.net
逆に何がわからないのかがわからん
迷うところある?
MFCができる知能があるなら楽勝だと思うがほんとはMFC知らんのじゃないか?

47:デフォルトの名無しさん
22/10/31 09:38:30.76 gNe27yrb.net
>>42
そう?
文字列選択とか便利だと思うけどね
まあ選択範囲がアプリ毎にまちまちだからちょっとイラっとくることもあるけど

48:デフォルトの名無しさん
22/10/31 09:54:22.74 UvtCs91F.net
釣りじゃね。 なんで釣られるの あんた達。 釣り耐性無いの。 レスしたら負け。
どうみても、知った上でのカモリ釣りにしか見えない。

49:デフォルトの名無しさん
22/10/31 10:20:53.87 3dM38dwf.net
えらそうに御託並べるだけ。ソースも提示できない。まぁそういう板ですから。
業務では(SQL)検索->リスト出力->選択->詳細をDBからSELECT->該当の詳細表示が
一般的。
シングルクリックだと間違えてクリックがあり得りえる。いちいちSELCT実行となるので
そういう余計なDBアクセスを防止する為にわざとダブルクリックにしている訳。
この位、常識だろうに。

50:デフォルトの名無しさん
22/10/31 10:44:28.68 gNe27yrb.net
DBアクセスが問題になるような頻度なら確認ダイアログ出すなりすればいいだけだろ
そもそもシングルクリック間違うような奴はダブルクリックも間違えるだろうし

51:デフォルトの名無しさん
22/10/31 13:00:15.14 3dM38dwf.net
Update,Deleteなら兎も角、Selectでいちいち確認ダイアログ出してたら使いにくいと
言われるのが落ち。
シングルクリックより誤操作が少なく、使い買ってが良い、これの妥協がダブルクリック。
システムの負荷を考慮するのも大切だけどユーザの利便性も考慮する必要がある訳です。

52:デフォルトの名無しさん
22/10/31 13:03:29.45 cPgJ75vw.net
「詳細を表示しますか?」ってダイアログ出すクソUI笑う

53:デフォルトの名無しさん
22/10/31 13:09:01.14 JaHljwAe.net
詳細(表示)ボタン付ければ良いと思う

54:デフォルトの名無しさん
22/10/31 13:29:01.42 fJpngcbR.net
リストボックスのダブルクリックだよね?
ワンクリでヘッダーぐらいは更新しないとクレーム来るでしょ
詳細表示は別にボタン用意すればいいね

55:デフォルトの名無しさん
22/10/31 14:49:51.88 cPgJ75vw.net
ダブルクリック使わないインターフェース考えるのもいいけどさあ
これ使えないの年寄りだけだから年寄りが使わないとわかってるなら避ける理由もないんだぞ
それより長押しとかいうトロ臭い入力方式を何とかしろよ

56:デフォルトの名無しさん
22/10/31 15:19:17.82 JaHljwAe.net
PCかじった年寄りはむしろダブルクリックしまくるだろ
避ける理由は、ダブルクリックを使うアプリが減ってきたのと、手の負担が大きいこと

57:デフォルトの名無しさん
22/10/31 15:20:32.45 I4bzY6kk.net
ダブルクリックで大騒ぎwww
WPFwww

58:デフォルトの名無しさん
22/10/31 16:37:28.78 BBD1kLj8.net
設定アプリとかの左側が実質リストボックスだけどシングルクリックだよな・・・

59:デフォルトの名無しさん
22/10/31 19:09:28.22 +Sja+VIl.net
検索->リスト出力は時間がかかるときはあるけど
リスト選択->詳細って一般的には瞬時に表示されるんじゃね
余程システムがポンコツだったりすると違うかもしれんが

60:デフォルトの名無しさん
22/10/31 19:35:11.46 Qc/loaUZ.net
>>14
いまだ回答なし。
ま、答える義理も義務もないけどな。
ほぼ全員知ったかぶり。

61:デフォルトの名無しさん
22/10/31 20:53:21.16 WMzulB9K.net
>>59
アホなのか?
アスペなのか?

62:デフォルトの名無しさん
22/10/31 20:57:56.14 D3Tx2nqj.net
ググレカス

63:デフォルトの名無しさん
22/10/31 21:17:03.06 Qc/loaUZ.net
>>61
調べてもわからんから聞いてるんだろ。
大丈夫?

64:デフォルトの名無しさん
22/10/31 21:17:38.30 Qc/loaUZ.net
>>61
じゃアンタが検索して回答提示しろよ。
できねーよな。しっかたぶりだし。

65:デフォルトの名無しさん
22/10/31 21:28:07.26 5igLhLXL.net
検索してみたけど、これでなんとかならんか?
URLリンク(stackoverflow.com)

66:デフォルトの名無しさん
22/10/31 21:29:13.05 WMzulB9K.net
>>63
もしかして「知ったかぶり」も知らんのか

67:デフォルトの名無しさん
22/10/31 21:38:37.36 Y6Fdt8Ii.net
「削除しました。よろしかったですか?[はい] [いいえ]」
はい→「それはよかったです。[OK]」
いいえ→「それは残念です。[OK]」

68:デフォルトの名無しさん
22/11/01 00:08:44.63 z+u5tjsY.net
>>14
こんなほぼ丸投げするから解答するほうもダルくて相手にされないんだよ
だからググれになる
3,4行で解答できないような質問しても余程の暇人か解答大好き人間いないとスルーされるのがオチ

69:デフォルトの名無しさん
22/11/01 04:12:20.13 QkE4MzJq.net
>>64
後で試してみる。
>>67
WINFORMならそれこそ、3-4行だからそのノリで書い
てしまった。
WPFだとこんな簡単そうな事でも大変なんですね。
それすら知らなかったので。。申し訳なかった。

70:デフォルトの名無しさん
22/11/01 06:20:22.11 QkE4MzJq.net
いろいろ試したけど無理そう。
まぁ、WinFormsで作ったものを勉強としてWPF版にしてみようと思っただけなんで、
諦めます。
いろいろどうも。

71:デフォルトの名無しさん
22/11/01 06:42:03.86 4va+eSzr.net
3~4行で書けるのを教えてやったのに文盲目はこれだからw

72:デフォルトの名無しさん
22/11/01 07:14:58.24 QkE4MzJq.net
?
どれ!?

73:デフォルトの名無しさん
22/11/01 08:16:26.02 QDraTKBS.net
荒らしの自作自演きもいんだけど

74:デフォルトの名無しさん
22/11/01 12:58:42.34 UaFy+ttV.net
(ID相違)
仕方ないのでdatagridにした。
MessageBox.Show( ((TextBlock)DataGridWindow.Columns[0].GetCellContent(DataGridWindow.SelectedItem)).Text);
これで取得できたので後はIDでSELECTして詳細出し。
同じ文法でListViewでも取れるかと思ったが駄目だった。残念。
しかしListViewはヘッダソートがないしWin32APIコモンコントロールじゃあるまいし
初めから実装して欲しいね。
datagridはソート機能実装してるのに。。
後はカラムの値によってその行の色を変えたり、カーソルのある行の色を変える。
(そうすると分かりやすい)
ListViewはカーソルのある行の色が変わってくれるのに。。
まだ先が長いな!

75:デフォルトの名無しさん
22/11/01 13:44:58.28 IS8qFv+O.net
>>73
そんなの>>16で出来る。
>>19でToString()してるけど、UserクラスのToString()はオーバーライドしてるの。

76:デフォルトの名無しさん
22/11/01 13:53:38.63 4kM8KyM3.net
なんで煽り荒らしに親切にしてんの?

77:デフォルトの名無しさん
22/11/01 14:42:58.09 J1BZNswu.net
ListView.SelectedValue.ToString()
これじゃだめだよね
どうすんだろ。

78:デフォルトの名無しさん
22/11/01 20:25:42.16 bJBbq9NQ.net
MVVMでデータバインドすればキャストも気にしなくて良い
素晴らしい!

79:デフォルトの名無しさん
22/11/01 20:57:51.75 ktT4MLQf.net
バインド理解できないんだろ

80:デフォルトの名無しさん
22/11/01 21:13:01.31 UMY/AZeU.net
MVVM使わないと
コード量が1/3位になる気がする
ついでにデバックまでやりやすくなる

81:.NET MAUI HighScool
22/11/01 21:16:31.75 UUH/mDfh.net
MVVMのCommunityToolKit使ったことないんだがこいつの凄さがわかる記事とかってないかな?
未だ使ったことない

82:デフォルトの名無しさん
22/11/01 23:29:07.73 KHUOHj7T.net
別に凄くはないよ
公式で出すのが遅すぎた

83:デフォルトの名無しさん
22/11/02 00:10:22.64 YnGSGfSm.net
マルチウィンドウなアプリを作っています。
メッセージボックスのようにウィンドウ表示中にその他ウィンドウにフォーカスしようとするとメッセージボックスにフォーカスが強制的に戻る仕組みが通常のウィンドウにもほしいです。
window.showdialog()がその他ウィンドウを無効化するまではよかったのですがフォーカスが戻ることはないのでちょっと違うなーと。
よろしくお願いします。

84:デフォルトの名無しさん
22/11/02 01:47:35.40 1h5Pldck.net
コードビハインドのイベントハンドラからデータコンテキストのコマンド呼べば立派なMVVMじゃないのかと私は思うのですが
やはりDataContext as OreVM のようなケツアワセが密ですなのがまずかろうなのですか?

85:デフォルトの名無しさん
22/11/02 05:55:39.16 ZLG7n9c4.net
>>76
実は誰もわかりませんヨ。

86:デフォルトの名無しさん
22/11/02 07:25:53.77 ZLG7n9c4.net
>>82
API FindWindowで(HWND)ウィンドウハンドル
取得してSetForcesするとか。

87:デフォルトの名無しさん
22/11/02 07:29:42.90 ZLG7n9c4.net
>>79
1/4の間違い。

88:デフォルトの名無しさん
22/11/02 11:02:57.90 ELmiQmoZ.net
>>85
ウィンドウハンドルはWindowInteropHelperクラスで取得できる

89:デフォルトの名無しさん
22/11/02 14:53:36.97 oFLEXjDH.net
>>86


90:デフォルトの名無しさん
22/11/02 16:21:23.69 UTfJbDjM.net
>>82
利用者がいらいらしそうなUIだな

91:デフォルトの名無しさん
22/11/02 16:26:18.79 1kc06PSN.net
xamlファイルがでかくなったんだけど、その中の一部を適当にUserControlに切り出して別のファイルにするのあり?
ただし、UserControlに依存プロパティとか一切追加せず再利用性は考えない

92:デフォルトの名無しさん
22/11/02 16:46:46.13 JEUy4laV.net
再利用性を考えろよ

93:デフォルトの名無しさん
22/11/02 17:40:49.75 ZntxxxkH.net
>>90
自分はそうするよ
そうしないとメンテできない

94:デフォルトの名無しさん
22/11/02 18:05:13.82 1kc06PSN.net
>>92
ありがとう
ファイルがでかくなってきて放置してたけどダイエットさせます

95:デフォルトの名無しさん
22/11/02 18:31:17.89 ZLG7n9c4.net
いつもお世話なってます。ListViewのレス主。
TABコントロールにデータグリッド張り付けてリスト表示はできるようになった。
初WPFということもあり大変の連続。さらなる問題が。
例のダブルクリックwしてID取得できたので詳細表示用のTABに切り替えようと
したら切り替わらん。
シングルクリック(データグリッドに対して)だと問題なくTABは切り替わる。
タプルクリックのイベントドリブンは実行されてる。
MyTabControl.SelectedIndex = 1; の方法のほか、
<TabItem Header="tabitemI"> にして
tabitemI.IsSelected = true; の方法も試したがダメ。
謎すぎ。

96:デフォルトの名無しさん
22/11/02 20:30:58.96 UTfJbDjM.net
SelectedItemにそのTabItemぶち込めば?

97:デフォルトの名無しさん
22/11/02 22:11:15.26 8XXQ/ttC.net
>>80
URLリンク(qiita.com)
パフォーマンスと省メモリだそうな。
そんなことより他がオワコンだから必然的にこれになる。

98:.NET MAUI HighScool
22/11/02 22:48:17.83 v08tA7cv.net
>>96
おぉサンクス

99:デフォルトの名無しさん
22/11/03 11:11:51.07 G7rGbxep.net
>>85
>>87
ありがとうやってみます。
>>89
業務アプリなんで操作間違えられるよりいいかなーと

100:デフォルトの名無しさん
22/11/03 11:19:25.56 0QCo1mM0.net
マルチウィンドウじゃなくシングルウィンドウで内容を書き換えるのが最近の流行だぞ
触れないウィンドウをバックに表示する意味がないしウィンドウに触れなければ邪魔になっても移動させることすらできん
ウィンドウハンドルの使い方をわざわざ調べて手間かけて作ってレガシーな使用感でユーザーをイライラさせるくらいならルーティングの方法を調べた方が有益なんだがな
まあ今から設計し直せないなら仕方ないが

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

138:デフォルトの名無しさん
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 値は、列挙値、静的フィールド、または静的プロパティに解決できません。

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

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

141:デフォルトの名無しさん
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"にしてもダメでした。

142:デフォルトの名無しさん
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>

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

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

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

146:デフォルトの名無しさん
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" />

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


148:が



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

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

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

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

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

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

155:デフォルトの名無しさん
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">
・・・

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

198:デフォルトの名無しさん
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への移行はコストが高い
それで見捨てるわけにはいかないんだね

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

232:デフォルトの名無しさん
22/11/14 07:57:38.88 TzpWDTj0.net
VSにTemplate Studioという拡張を導入してプロジェクトの雛形を作る
URLリンク(marketplace.visualstudio.com)
基本はCommunityToolkitだが、不足しているものをコード自動生成してくれるし最小限のNugetも導入してくれる

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

273:デフォルトの名無しさん
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が認識できないエラーになる)
質問ばかりですみません。よろしくお願いします。

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

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

276:デフォルトの名無しさん
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));

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

324:デフォルトの名無しさん
22/12/11 19


325::37:24.32 ID:HcYuyEaD.net



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

362:.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)

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

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

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

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

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

368:デフォルトの名無しさん
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以上が合格ライン(当然点数は高ければ高いほど優秀)

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

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

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

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

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

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

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

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

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

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

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

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

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

382:.NET MAUI HighSchool
22/12/16 09:18:03.15 3qj0lL1U.net
>>375
テキスト、フォントサイズ、幅、高さ
すべてがウェジットだろ
キチガイプラットフォームじゃん

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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