1 名前:デフォルトの名無しさん [2009/12/27(日) 10:58:30 ] あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについ て語るスレ。.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 - June 2009 Release ttp://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117 Visual Studio 2010 ttp://www.microsoft.com/japan/msdn/vstudio/2010/overview/ 関連スレ Microsoft Silverlight その4 ttp://pc12.2ch.net/test/read.cgi/tech/1244812356/ 過去スレ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3 ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/ 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/
65 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:05:05 ] ありがとう 妙な変換されないようにしたいんだけどどれ選べばいい?
66 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:29:33 ] 変換だろ? ならオリジナルのbitmapsourceのformatをそのまま押し込んでやればいい
67 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:22:38 ] >>59 使う人にとってはWPFだろうが何だろうが関係ないが、 ある程度高機能なアプリをWPFで作ったら 推奨環境は平気でCore2Duo 3GHz以上になっちゃうんじゃないだろうか?
68 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:23:56 ] >>67 重要なのはDirectXのハードウェアサポートだろう
69 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:44:46 ] >>67 イメージしてる「高機能」がどのリソース使うのかわかんないからなんともいいようがないけど 個人的にはクロスプラットフォームのDTM系のソフト(いわゆるDAW)が社内で内製するような ux重視のライブラリみたいなもんをMSが用意したという感じで捉えてる こういうのは昔からリッチなGUIと高機能を同時に提供してた wpfみたいなもんてどう使うのとかいう向きは一度この手のソフトを弄ってみるといいと思う
70 名前:デフォルトの名無しさん [2009/12/29(火) 01:00:22 ] WPFを会社で使い始めたんだがマジストレス溜まる。 なんでこんな継ぎ足しみたいな酷い設計になってるんだ? 思想自体は悪くないし、むしろ応援したいくらいなんだが、 内部の設計がお粗末すぎないかこれ。 ちょっとサンプルより凝った事しようとすると途端に辻褄合わせに苦労する。 そもそもサンプルも例外出まくってるし。 何でもかんでもTemplateって言えばいいってもんじゃねーぞw 皆すげーな。 アーキテクチャの理解に二週間くらい戦ってるが未だによく分からん。
71 名前:デフォルトの名無しさん [2009/12/29(火) 01:08:06 ] みんな手探りですよ、と ぶっちゃけ例外はログとって握りつぶそうぜw はやくまともな日本語の本出ないかなぁ
72 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:38:08 ] 綺麗なGUI作れそうだな〜思うけど 情報が出揃うまではFormsで十分かなって思ってしまう。
73 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:38:53 ] 3か月から半年付き合えばすらすら〜って書けるようになるよ。
74 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:54:51 ] MVVMはFormsでもリフレクションつかってやってたからすんなりいけた XAMLもそれほど問題はない が、なにぶんWPFは開発環境が重すぎるw もうちょい何とかしてくれorz
75 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 12:14:43 ] 'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。 'System.IO.FileNotFoundException' の初回例外が PresentationCore.dll で発生しました。 気持ち悪い
76 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 12:57:52 ] 例外処理しなよ
77 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:08:58 ] 日本語の本だが、βを対象に書いていたchris cellsの本は、 βゆえに記述は古いけれど内容はいい。 これにエッセンシャルWPFを組み合わせて設計思想をつかんだら あとはMSDNとblogあさりでいい。
78 名前:デフォルトの名無しさん [2009/12/30(水) 02:19:31 ] 赤坂玲音っつー人の本は、 あえてほとんど全てのサンプルコードがC#コードでの記述になっていて、 XAMLの解説は最終章でちょっとだけという構成なのでまあこれはこれでありがたいと思った。 WPFはちょっと深入りするとコード側から記述せざるを得ないことも多いから。 ただサンプルの文字出力やメッセージ文が 「宇宙人、異世界人、超能力者」とか「ただの人間には興味ありません」とか 「ジャンクにしますよ」とかばっかりなので、そういうセンスが鼻につく人も多いだろうな。
79 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 02:21:04 ] wpfのバインディングのデバッグってどうしいたらいいんですかねえ。 xamlのインテリセンスが効かないこともあって、ElementNameうち間違ったり すると絶望的なんですが。
80 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 10:23:54 ] 名前が見つからないってエラー出るだろ
81 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 14:18:16 ] なるほど。デバッグ出力を見ればいいのか。 でも、これだけを頼りでは大変すぎ。 名前間違いならエラーも出るけれど、複雑なバインディングで構造違いだったり 参照違いだったりの場合はエラーも出ないですし。
82 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 14:59:25 ] 俺らに言われてもな。どうしろと?
83 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 22:55:38 ] ttp://karlshifflett.wordpress.com/mvvm/wpf-line-of-business-introduction/ ttp://karlshifflett.files.wordpress.com/2009/01/wpflobmvvm1.png このBusiness LayerとModelの関係がいまいちイメージ出来ません。 メモ帳のようなSDIアプリを例にすると、どういう感じになるのでしょうか?
84 名前:デフォルトの名無しさん [2010/01/01(金) 11:16:24 ] >>83 メモ帳には無縁の世界
85 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:28:47 ] >>83 Modelが文字のバッファで、 Business Layerは、文字の切り取り/貼り付けといったメモ帳の機能。
86 名前:デフォルトの名無しさん mailto:sage [2010/01/09(土) 11:39:06 ] WPFつくりずらいな 一回コンパイル失敗すると二度と通らなくなったりする
87 名前:デフォルトの名無しさん mailto:sage [2010/01/09(土) 12:04:16 ] それは流石に使う側の問題だと思う
88 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 05:11:41 ] Popupが使いにくすぎる。Primitivesの癖に…
89 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:06:39 ] 折れ線を描くのはどうすればいいですか?
90 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:27:29 ] Polyline
91 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:49:21 ] ありがとう DrawingGroupで使えないんだ
92 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 01:19:43 ] msdn.microsoft.com/ja-jp/library/ms750410.aspx
93 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 11:23:28 ] ありがとう、ためしてみる
94 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 12:01:18 ] Imageって座標がマイナスだと勝手に全体を移動させてしまうのね
95 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 13:31:20 ] >>94 ???
96 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 14:20:51 ] (-10, -10)に字を書くと(-10,-10)が左上角に表示されるように全体が右下方向に移動した 座標が大きいときは表示されないのに
97 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 15:01:43 ] 地球を一周させれば元にもどる( ・ω・)y─┛〜〜
98 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:14:47 ] やっとわかった DrawingGroup.ClipGeometry設定すればいいのか とりあえず97は地球七周半してこい
99 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 17:57:07 ] 1秒かかりますが
100 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 18:29:20 ] 97から見れば0秒なので問題ない
101 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 10:34:35 ] 地球七周半というのは都市伝説なのに(´・ω・`)
102 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 12:12:10 ] >>101 なんで? 光の速さが秒速30万kmで地球の赤道付近の円周が約4万kmだから ほぼ7.5周じゃん?
103 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 12:14:59 ] >>102 ・光は地表に沿って曲らない ・真空じゃない ようするに揚げ足とり。
104 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 13:05:11 ] 光にスピードなどありません。すべて一瞬です
105 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 13:14:30 ] 光の速度とWPFの関係について140字以内で述べよ。(10点)
106 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 13:16:47 ] WPF → WPF/E → Silverlight → 銀の光
107 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:27:54 ] 1 8 3 6\ × × × 5 9 2 7 4/ 上記のように点を数字順にたどるgeometryを定義して 閉じた部分をそれぞれちがう色で塗りつぶしたいのですがどうすればいいですか?
108 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:36:50 ] WPFと関係あるのか??
109 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:58:01 ] linergraなんとか使えば? 自動で塗り分けろ? じゃあ仮にそういう機能があったとして、どの場所が何番目の色ってどうやって指定するつもりだい
110 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:44:36 ] linergradientbrush? よくわかんない しゃーない 交点探してチマチマやるか
111 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:57:41 ] いつのまにかFirefoxがXBAP WPFブラウザアプリ非対応になってやんの。 さっさとSilverlightに代替えしろってか。まあWCF対応バインディングも増えたし。
112 名前:デフォルトの名無しさん [2010/01/19(火) 11:55:31 ] grid で showgridlines プロパティを有効にして表示される線の種類を変えたいのですが・・・ 簡単にはできないでしょうか?
113 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 12:04:59 ] > グリッド線を有効にすると、Grid 内のすべての要素が点線で囲まれます。 > このプロパティはレイアウト上の問題をデバッグするためのデザイン ツールとして用意されているものであり、 > 製品品質のコードで使用するためのものではないため、点線以外は使用できません。 > Grid 内に線を表示するには、Grid 内の要素に対して境界線を含むスタイルを設定します。
114 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:27:20 ] >>113 ありがとうございます。 諦めてセルになる部分にBorderとCanvasでも噛ませて中にコントロールでも突っ込みます。
115 名前:デフォルトの名無しさん [2010/01/21(木) 14:52:10 ] WPF初デビューでみなさまよろしこ これってアプリなのに内部的にはクラサバもしくはJavaではよく聞くMVCモデル で動いてるような物ですよね つまりc#で描く側が鯖イメージでXAMLで書いたり表現するGUIがFormぽく振舞ってる ブラウザというか
116 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 14:55:21 ] 概念はさほど重要ではない…いや重要か .NET自体動作原理はVMに近いものだし
117 名前:デフォルトの名無しさん [2010/01/21(木) 14:59:19 ] >>116 結構重要だと思いますw WPF以前のアプリだと密接でしたがWPFだとたとえばTreeViewにデータ流し込むにしても やってることはC#で書いたListをどこかにあるDBのように見ますし なんというかunixのXというかなんというか
118 名前:デフォルトの名無しさん [2010/01/21(木) 15:02:59 ] というかそんな中身はどうでもよくて重要なのはグラフィカルなGUIってところなんですが 参考になるサイトはないでしょうか?
119 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 15:35:47 ] とってもVBだと思います
120 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:15:53 ] Xとはじぇんじぇん違うと思います。
121 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 21:39:37 ] XAMLとコードビハインドは普通は密結合だよ Form1.Designer.csとForm1.csの関係に対応する MVVMはもう一段上の概念
122 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:19:38 ] MVVMやってるとコードビハインドを空にしたくなる病気が・・・
123 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:31:50 ] コードビハインドはMVVM的にはViewの一部だからな MVVMでいうビューとロジックの分離と,一般にWPFでいうビューとロジックの分離は意味が違う
124 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:33:15 ] Xって…
125 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:39:13 ] WPFやってるとモデル構築時からもう依存関係プロパテイで実装したくなる
126 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:05:09 ] 横長のグラフの一部をスライダーの動きにあわせて表示させるアプリをつくってみたんですが、 いくつか表示させるととても遅くなります ImageコントロールにDrawContext使って描画することできそうだと思って ImageのSourceにDrawingImageいれて、そのDrawingにDrawingGroupいれて、 Sliderが動くたびにDrawingGroupからDrawingContext取得して、DrawDrawingやDrawLineで描画してます さて、もっとキビキビ動くアプリにするためにはどうしたらいいでしょう?
127 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:08:01 ] まずは認識を改めようか 「DrawingContextは遅い」
128 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:17:42 ] orz どうすればいいですか? 何を使えば早いですか?
129 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:23:41 ] WriteableBitmapは?
130 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:30:59 ] 自分で点を打っていくんですか・・・くたびれるなぁ
131 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:32:48 ] RenderTargetBitmap使って適当にキャッシュしたら
132 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:40:59 ] Bitmapをいっぱいつくるってことなんですかね? トライしてみます ありがとう
133 名前:デフォルトの名無しさん [2010/01/22(金) 00:59:50 ] Evernote3.5のクライアントってWPFなんだな
134 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 01:33:04 ] >>118 ここぐらいかな。 ufcpp.jp/study/dotnet/wpf_abst.html 残念ながらWPFの解説サイトは非常に少ないのでMSDNのサンプルを見ながら勉強するのが一番いいと思う。 msdn.microsoft.com/ja-jp/library/ms754130%28VS.80%29.aspx あとは書籍とか。
135 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 01:35:35 ] 解説より作例を見たいよね
136 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 09:32:14 ] miniUML が MVVM の作例的にも非常に良く出来ているって聞いたぞ。 まだソース読んでないけど。 www.codeplex.com/miniuml
137 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 09:34:13 ] >>136 それ、なにするもの?
138 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 10:09:07 ] >>137 journal.mycom.co.jp/articles/2009/02/03/miniuml/index.html
139 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 10:13:04 ] >>138 このスレにはやさしい人がいてうれしいな ありがとう
140 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 10:45:18 ] ソースからUML書いてくれるツールないかな
141 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:02:23 ] >>140 あるよ。 JUDEの後継のastah* は Java/C#/C++のソース/UML間相互変換をサポートしてる。 ただし無料版はどれも不可だけど。 JUDEの時はJava出力に関してはフリー版でも出来たと思ったんだけどなぁ。
142 名前:134 mailto:sage [2010/01/23(土) 10:08:28 ] URLが間違っていたので訂正。 × msdn.microsoft.com/ja-jp/library/ms754130%28VS.80%29.aspx ○ msdn.microsoft.com/ja-jp/library/ms754130.aspx
143 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 11:16:31 ] WPFでバルーンヘルプ出すにはどうしたらいいの? 教えて偉い人。
144 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 11:36:30 ] Accordion+Binding+Resize時の4004エラー回避できぬ。 ぬぬぬぬ…。
145 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 12:13:25 ] >>143 msdn.microsoft.com/ja-jp/library/ms752040.aspx
146 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 12:14:54 ] 最近MSDNの内部リンク切れまくっていないか?使い辛いっつーか、使い物にならん。 >>143 目的が分からんからどうとも言えんがツールチップかポップアップ使えばいいんじゃないか? 偉くはないが
147 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 12:43:18 ] >>145 ,146 すごい。瞬速で解決。ありがとう偉い人たち!
148 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 13:04:48 ] >>146 リンク切れ?例えばどこのこと?
149 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 13:05:44 ] サンプルのダウンロードとかそこらじゅう
150 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 13:18:19 ] >>149 >>142 で訂正したけどサンプルが更新されている場合は「.Net Framework 3.5」の方からダウンロードできる。 あとブラウザをIEに変えるとうまくいくことがあったので試してみて。
151 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 13:34:10 ] >>148 WPFの話から脱線してスマン。サンプルが切れているのは元からだが 最近クラス自体の説明へのリンクが切れている所が多くなった気がする。 多すぎてうる覚えだが、PrivateObject関連の構造体の説明あたりとか、 ttp://msdn.microsoft.com/ja-jp/library/h58hxyt6.aspx のクラス説明へのリンクとか。
152 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:50:23 ] ライトウェイトにしてるから?
153 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:52:36 ] >>152 え? …クラシックだと見れるのね。なんじゃコリャw。 切り替えるとなおるのか、キャッシュ探すよりもずっと楽だ。トン
154 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:28:24 ] ライトウェイトけっこう適当な作りしてんのなw
155 名前:デフォルトの名無しさん [2010/01/23(土) 21:41:58 ] ItemsSourceにBindしてる時、その中の子のコントロールが自分のItemを知る事は出来ますか? 子のコントロールでBindしてパラメータとして渡したいのです。
156 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 21:54:06 ] ん? DataContextじゃダメ?
157 名前:デフォルトの名無しさん [2010/01/23(土) 22:11:02 ] すみません、情報不足でした。 Prism for Silverlight使っててxamlで指定して上げたいのです。 <ItemsControl ItemsSource="{Binding Items}"> <ItemsControl.ItemTemplate> <DataTemplate> なんちゃらこうちゃら CommandParameter="{Binding 現在のアイテム}"←ここ </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
158 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:23:50 ] Itemsの中の要素に対してバインドしたいんだよね? 「Binding Path=.」か「Binding RelativeSource={RelativeSource Self}, Path=DataContext」でいけない?
159 名前:デフォルトの名無しさん [2010/01/23(土) 22:52:04 ] あれ?もしかしたら違うところで躓いてるかも…。 <ItemsControl ItemsSource="{Binding Items}"> <ItemsControl.ItemTemplate> <DataTemplate> <Button c:Click.Command="{Binding MyCommand}" ←このMyCommandはItemsにはなく、DataContextのViewModelにある。 c:Click.CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=DataContext}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> この状態でButtonをクリックするとMyCommand自体が呼ばれません。 ItemsControlの外に置くとうまくBindされてMyCommandは実行されます。 これはおそらくItemsの中にMyCommandがないからだと思われますがうまく"Binding MyCommand"の箇所をViewModelのMyCommandが呼ばれるようにするにはどう設定すればよいのでしょうか? Binding ../MyCommand←これはだめでした。 Binding this.DataContext.MyCommand←これもだめ。 うーん…。
160 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 23:40:58 ] MyCommandはItemsControl.DataContextがもっているが、 CommandParameterに渡すのはItemsControl.items内の要素ってこと? そんな使い方したことないから実際やったことはないが a) ItemsControlにx:"Name=itemContorlName"を指定して Command={Binding ElementName=itemContorlName,Path=MyCommand} b) Command={Binding RelateveSource={RelativeSource AncestorType={x:Type ItemsControl}}} のどっちかで解決しないか? > この状態でButtonをクリックするとMyCommand自体が呼ばれません。 出力ウィンドウをみればバインド失敗は表示されるけど…何か出ていない?
161 名前:デフォルトの名無しさん [2010/01/24(日) 00:12:23 ] //Model public sealed class Model { public string A {get; set;} } public sealed class Models : ObservableCollection<Model> {} //ViewModel public sealed class ViewModel { public ViewModel() { this.Items = new Models(); this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand); } public void OnMyCommand(Model item){ } public Models Items {get; private set;} public ICommand MyCommand {get; private set;} } //View public sealed class View { public View() { InitializeComponent(); this.DataContext = new ViewModel(); } }
162 名前:デフォルトの名無しさん [2010/01/24(日) 00:21:57 ] 上記がMVVMの仕様です。 これで説明しやすくなりました。 この仕様でバインドした時>>159 のMyCommandがViewModelにあるMyCommandでバインドされないのです。 Model側に"ICommand MyCommand"のプロパティを持てばバインドされるのですがそれではModelとしてふさわしくないように思えます。 ・させたい事 ViewModelのMyCommandを>>159 のItemControl内のButtonにバインドさせたい。 ttp://msdn.microsoft.com/ja-jp/library/cc645024%28VS.95%29.aspx#ppincode (ここも見てみましたが上位?Pathの設定の仕方がわかりませんでした。) ためしにModel側にMyCommandをもちバインドさせ>>158 の方法で"Item"を参照できるか試しましたがOnMyCommandの"Model item"はnullとなってました。
163 名前:デフォルトの名無しさん [2010/01/24(日) 00:24:30 ] >>161 の訂正 ×this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand); ○this.MyCommand = new DelegateCommand<Model>(OnMyCommand);
164 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:42:12 ] .NET4.0のMediaElementでH.264のサポートはないの? silverlight3では動いたので.NET4.0で験してみたのだけど。
165 名前:デフォルトの名無しさん [2010/01/24(日) 01:41:12 ] >>160 UserControlに名前をつけてa)の方法でDataContextを参照したところうまくいきました。 本当はUserControlに名前をつけるとBlendにて警告が出るのでb)のAncestorTypeを使ったものを採用したかったのですが SilverlightではSelfとTemplatedParentしか用意されていませんでした…。