[表示 : 全て 最新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/

32 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:38:25 ]
ボタンの中身を画像なんてUSERでもできるだろ。
ボタンの中身をテキストボックスとかのほうが恐ろしい。

33 名前:デフォルトの名無しさん [2009/06/24(水) 09:51:35 ]
>>32
ちょw その組み合わせはまずいでしょう


質問ですが、WPFとSilverlightのコントロールの差異がぱっと見 わからないんですが、
この辺の一覧表とかあったりするんでしょうか?
自分でコツコツ調べるしかないかしら・・・

(例)
WPF Silverlight 備考
Label ○ ○ 同等
TextBox ○ ×
ListBox ○ ○ Silverlight側は○○が無い
ComboBox × ○
ViewBox ○ ○ WPF側は○○が無い
:
:


34 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:32:05 ]
wpfslguidance.codeplex.com/
でコントロール以外も含めたWPFとSilverlightの違いが解説されている。

が、あまりにも違いが多いため、69ページのPDFになっているので注意。

35 名前:デフォルトの名無しさん [2009/06/24(水) 11:38:55 ]
>>34
ありがとうございます。

36 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:10:55 ]
>>31
うんざりですね

37 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:53:57 ]
ActualWidth、ActualHeightを変更するにはどうすればいいですか?
Width,Heightに値を入れてもすぐには変化してくれません

38 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:50:58 ]
<cars>
 <car>
  <maker>トヨタ</maker>
 </car>
 <car>
(以下略)
<cars>

みたいな xml の maker を ListBox にバインドしました。
トヨタ車はいっぱいあるので重複して表示されてしまうのですが、
重複をのぞいて表示するにはどうしたらよいですか?

39 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:17:02 ]
重複を除いたものをバインドする

40 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:06:36 ]
トヨタ車が重複するのは当然の真理



41 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 17:38:52 ]
>>37
果報は寝て待て

42 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:06:51 ]
<RowDefinition Name="rd" Height="24" />
<RowDefinition Height=rd.Heght />

のようなこと出来ないんですか?

43 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:28:38 ]
<RowDefinition x:Name="rd" Height="40" />
<RowDefinition Height="{Binding ElementName=rd, Path=Height}" />

44 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:50:11 ]
>>28
まだ悩んでる?

45 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:59:56 ]
MSDN Forumに行ったっぽいよ

46 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:58:14 ]
そうか、ならいいか

47 名前:38 mailto:sage [2009/06/27(土) 14:57:03 ]
>>39
なるほど。
思いつかなかったw
ありがとう。

48 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:00:20 ]
WPF の XPath って
> person[sex='man']
みたく書けないみたいだけど、
ノードの絞り込みしたいときはどうするの?


49 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:16:34 ]
使えるよ ただし一部文字にエスケープ必要
Binding.XPath のサンプルにある コメントアウトされてるけど

50 名前:48 mailto:sage [2009/06/28(日) 10:50:17 ]
>>49
レスありがとう。
教えてくれた方法で無事できました。
感謝。



51 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 12:56:08 ]
<maker>トヨタ</maker>

というデータを表示しようとして下記の DataTemplate を作りました。

<DataTemplate>
 <StackPanel Orientation="Horizontal">
  <TextBlock Name="tbCaption" Text="{Binding XPath=local-name()}"></TextBlock>
  <TextBlock Name="tbValue" Text="{Binding XPath=text()}"></TextBlock>
 </StackPanel>
</DataTemplate>

tbValue はちゃんと取得できていて"トヨタ"と表示されるのですが、
tbCaption には maker と表示したいのですが、local-name() ではだめみたいです。
どうすればよいでしょうか?

52 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:06:12 ]
どんだけトヨタ推しなんだよ

53 名前:51 mailto:sage [2009/06/28(日) 19:30:11 ]
すいません。じゃ、
<maker>光岡自動車</maker>
でお願いします。

54 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:10:14 ]
<GridViewColumn Header="Text" Width="300" DisplayMemberBinding="{Binding XPath=.}" />

とすると、バインディングされてるデータが

<List>
 <Item>Foo</Item>
 <Item>Bar</Item>
</List>

のとき、FooBar と表示されます。
これを Foo/Bar と表示したい(間に文字を入れて連結したい)んですが、
Converter を作る以外に方法ありますか?

55 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 09:52:38 ]
CellTemplateを書く

56 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 07:41:07 ]
フォントファミリからBaseUriを取得したいけど
作成時にUriを指定していない場合はBaseUriはnullになってしまう。
>var family = new FontFamily("メイリオ");
>family.BaseUri; // null!

Fontsからだと、BaseUri付きのファミリが取得できるかも?と思って試したけどnull
>var q = Fonts.SystemFontFamilies.Where((val) => val.BaseUri != null);

断念して妥協するか、システムフォントを片っ端から調べるか・・。

57 名前:デフォルトの名無しさん [2009/07/12(日) 08:22:10 ]
今まで専らMFCでプログラミングしてきたんだが、
CDocument的なものはどこに置くべき?
ウィンドウのコードに依存プロパティとして実装?

もうWPFわけわからんw

58 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 10:56:23 ]
自分でDocumentManagerみたいなのつくっとくべ気だろ。

59 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 10:57:59 ]
>>58
質問が分かりにくくてすまん。
そのインスタンスはどこに保持するのかって質問なんだ。

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