[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 04/26 11:23 / Filesize : 18 KB / Number-of Response : 82
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4



1 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 13:08:09 ]
あたらしいGUI FW、WPFについて語るすれ。
.NET3.5 SP1 もリリースされて盛り上がってまいりますた。

Visual Studio 2008
ttp://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 3.5 Service Pack 1
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja
WPF Toolkit - March 2009 Release
ttp://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047

関連スレ
Microsoft Silverlight その4
pc12.2ch.net/test/read.cgi/tech/1244812356/

過去スレ
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/

60 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 11:06:21 ]
この辺が参考になるかな。
msdn.microsoft.com/ja-jp/magazine/dd419663.aspx

更新のない一方向の情報なら
XmlDataProviderを使って直接バインドしてしまうことも出来る。

61 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 11:09:26 ]
>>60
なかなか難しいな
頑張って解読してみる
ありがと!

62 名前:57 mailto:sage [2009/07/12(日) 16:17:29 ]
>>60
読んでみた

Model-View-ViewModelでやると、
ViewModel同士の同期が非常に煩雑になる気がするんだがそうでもない?
>>60のサンプルでも煩雑になってる気がする)

本屋に行ってWPFの本を探してみたが
どれも簡単なコントロールやスタイルの組み方までしか書いてねぇ。

63 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 19:00:24 ]
ここはexpression blendの使い方の質問してもおkな場所か?

64 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 20:09:07 ]
いいえ

65 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 20:39:27 ]
>>62
俺も綺麗なやり方が分からず悩みどころ。

あとVとVMの連携が必要な所も酷いことになる。
例えば、ボタンを押したらダイアログを表示、をやろうとしたら
ダイアログに対応するVMを作るのと、ダイアログの表示処理は誰がやるんだろう?
選択肢を選んだら即時ダイアログを閉じる場合、VMへの値の反映をバインドでやるとすると
ダイアログを閉じるのはどうやるんだろう?

って感じで複雑な物を作ろうとするとV→VMが依存しまくり。
うまく行く設計方針とかないのかしら。

66 名前:57 mailto:sage [2009/07/12(日) 22:06:24 ]
もうMVCで書いてしまおうか。
それともフレームワークのようなものを作れば
MVVMでも多少ましになるのかな。

67 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 01:16:24 ]
>>65
コマンドは使ってるんだよね?

>例えば、ボタンを押したらダイアログを表示、をやろうとしたら
>ダイアログに対応するVMを作るのと、ダイアログの表示処理は誰がやるんだろう?
Vはコマンドを発行するだけ(VM側の実装を知らなくていい)
コマンドを受け取って、ダイアログのV,VMを作って呼び出すのはVMの役目。

>選択肢を選んだら即時ダイアログを閉じる場合、VMへの値の反映をバインドでやるとすると
>ダイアログを閉じるのはどうやるんだろう?
その程度のやつならVで閉じちゃえば?

妥当性検証をパスして、OKボタン押すまでソースへの通知を遅らせたい(CANCEL時に無かった事にしたい)時とかはVMがないと見通し悪くなる。

68 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 01:25:55 ]
>>67
前者は、コマンドは使っているけれど
> ダイアログのV,VMを作って呼び出すのはVMの役目。
これって不味いのでは?
「V→VMの依存関係を一方向にすれば、テスト楽だよ」ってのがMVVMの味噌な気が。
VMがVを作ると、VM単体で単体テストしにくくなって不味いかと。

後者は、自分が選んだのもその方法(コードビハインドで全部処理)だけど、
コマンドを使うところと使わない所が出来るってのがちょっと嫌な感じ。

自分のMVVMのやり方じゃ7割ぐらいまでは綺麗に適応できるけど
3割ぐらいは外れるか、アドホックに汚いやり方で誤魔化しちゃってます。



69 名前:デフォルトの名無しさん [2009/07/13(月) 14:15:50 ]
MVVM的な作り方では、下記のソフトもいい勉強になりますよ。(知ってたらスマンです)

www.codeplex.com/miniuml


70 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 16:35:36 ]
>>60
おお、いい記事を紹介してくれた。ありがとう。

71 名前:57 mailto:sage [2009/07/13(月) 19:42:17 ]
>>69
このUIかっけぇ
そしてコード勉強になる
ありがと

72 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 00:06:15 ]
>>69
トン、俺も読んでみる

73 名前:デフォルトの名無しさん [2009/07/17(金) 20:17:07 ]
MSに点在するSilverlightのサイトを見ていたら
WPFと同じような使用例ばかり出てきて、WPFはどうしたいのかわからなくなる

74 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 20:52:48 ]
どっちも同じように書けるってこった

75 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 20:56:16 ]
>>73
ホストアプリを何にするかの違いだけ。

76 名前:デフォルトの名無しさん [2009/07/19(日) 00:06:09 ]
RadioButtonのバインドって微妙で使いにくいですね。
ListBoxとかで作ったほうがすっきりするかしら・・・

77 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:33:11 ]
どうするんのがスマートなんだろうね。

自分の場合、Enumと合わせるなら他の人も作っている
EnumBooleanConverterをパクって使っている。これはかなり楽。

Enum以外のデータ、他の特に可変個数のデータ数の選択の場合は、
自作ViewModelクラス(選択肢の表示内容や対応付けられたデータを保持し
選択されたらイベントを飛ばす)を使っている。

78 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:26:50 ]
てすつ



79 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:33:39 ]
SilverLight3になってから、サンドボックス内とはいえローカルで実行できるとか・・・。
キャッシュとしてローカルのディスクにデータとか書き込めるのかね・・・。

80 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:26:59 ]
>79
2番目は IsolatedStorage でSL2の段階で出来る
ローカル実行は俺も知りたい

81 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 13:08:02 ]
WPFToolKit入れて、VSMを使いたいのだが、GotoStateでNull例外。
Silverlightと違ってGotoStateを明示的に呼び出す必要がないとか。
なのでCommonStatesグループを作って、Pressedのステートを作ってみたが無反応。
どうやったら使えるかな?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<18KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef