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/
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しか用意されていませんでした…。
166 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 07:46:15 ] >>165 これでどうですか? <Window.Resources> <c:CommandReference x:Key="MyCommandReference" Command="{Binding MyCommand}" /> <Window.Resources> <ItemsControl ItemsSource="{Binding Items}"> <ItemsControl.ItemTemplate> <DataTemplate> <Button Command="{StaticResource MyCommandReference}" CommandParameter="{Binding}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> うまくいかなかったら実験したProjectをどこぞにうpします。
167 名前:デフォルトの名無しさん [2010/01/24(日) 21:05:50 ] >>166 うまくいきました! ありがとうございます。
168 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:10:02 ] WPFの質問スレとか見当たらなかったので、お手数ですが少しよろしいですか? 非リアルタイムの2Dゲーム(ADVに近いものを想像してください)を作るにあたって、 WPFを利用するのは有用でしょうか? WPF関連の書物は高い&3Dゲームに関する記述しかないのですが、 ざっと確認したイメージ的にはいけそうな気もするんですよね。 有用だというのならば、思い切って専門書買ってみようと思うのですが、 よろしければアドバイス頂けませんか?
169 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:15:09 ] WPFはオサレなGUI(ボタンや部品がうにゅーっと動くようなの)を作るのには向いているがかなり重たい。 作れなくはないが、ADVなら積極的に採用する理由はあまりないんじゃないか?
170 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:18:44 ] まあWinFormsのSystem.Drawingで作るよりは遥かに速いし簡単に綺麗なものが作れるよ
171 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:20:35 ] >>168 www.nicovideo.jp/watch/sm9053564
172 名前:デフォルトの名無しさん [2010/01/24(日) 21:22:32 ] >>168 2DゲーでADVに近い物ならVC#でも十分可能だけどね
173 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 23:13:51 ] んー、やっぱり動かしてみないと判断難しいんだろうか? かといって図書館にも置いてないしなあ。 >>169 少し説明が難しいのですが、動的に処理すべき場所があまりにも多いんですよね。 するとフォームデザインがどうも役立たずっぽいので、WPFの方が適切ではないかと思ったわけです。 速度はイライラしない程度なら問題はないと考えています。 >>170 それはちょっと朗報です。ありがとうございます。 >>171 うわw これは素直にすごいなあ…… ここまでの処理は求めてませんが、期待持てそうです。 >>172 どうもゲームプログラミングは苦手で、それなのに任されちゃって四苦八苦なんです。 いざ調べてみると想像以上に資料少ないですよね。 市販の書籍なんて、ほとんど画像表示の方法とかに終始してますし。
174 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 23:26:25 ] ピクセルシェーダが簡単に使えるのは面白いよな >>171 はやってみると意外と難しくない
175 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 23:28:21 ] ・・・環境にもよるんだろうけど作るだけなら吉里吉里でも 使えばよかろうに
176 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 00:02:01 ] でもADVみたいなのにWPFはありだと思うけどなぁ。 UIかっこよくしてなんぼって感じもするし。
177 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 00:34:22 ] >>174 やれるとしても当分先だと思いますが、これは確かに面白そうですよね。 たとえ今回の件にそぐわないとしても、近いうちにWPFには手をつけてみようかなーと思い始めてきました。 数値計算とかばかりやってきた身としては、もう少し普及して間口が広くなってほしいってのも本音ですけどね…… >>175 ADVみたいなものって説明が悪かったですね。 雰囲気としてはそれっぽいものではあるのですが、某レトロゲームのシステムを踏襲+拡張したものなので、 簡易的なものじゃちょっとまかなえないんです。分かりにくくてすみません。
178 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 02:21:15 ] WPFと吉里吉里とで作れるゲームの幅は変わらないと思うよ
179 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 03:55:47 ] 吉里吉里はJavaScriptライクな言語TJS2の実行環境+クラスライブラリといった体裁だから、やろうとおもえば結構がっつり組めるよ でもWPF製のゲームも見てみたいから頑張れ
180 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:07:56 ] >>171 こういうの見るとモチベーションが上がるな。 上がって何をするかというと、2chとMSDNを往来することなのだが。
181 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:14:07 ] こういうのは早いのになんでDrawingContextは遅いの? もっと早く線描けないの?
182 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:27:21 ] >>181 処理が違うから? 大量の色情報に対して同じ処理を高速にやってるだけだし 上画像のピクセルのアルファ値を高速に変えればできる処理なんで GPUのもっとも得意とするところじゃん DrawingContextで描画するような内容ってピクセルのアルファ値かえるだけのような 話じゃないしね
183 名前:デフォルトの名無しさん [2010/01/25(月) 16:27:31 ] c#でも画像の合成表示ならできたな ちらつきとか抑える方法はよくわからんけど サンプルソース居る? というか配布する際どれを渡せばいいんだろうw .netのソースって開発環境のパスが埋もれてるとか聞いたけど
184 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:35:33 ] *.Cs とか *.xaml とかでいいんじゃね?
185 名前:デフォルトの名無しさん [2010/01/25(月) 16:44:34 ] uproda.2ch-library.com/2079536UQ/lib207953.zip pass 無し formにpicturebox x1とbutton x3とtimer x1を貼り付けてイベントハンドラを 割り当ててくれれば動くと思うよ
186 名前:デフォルトの名無しさん [2010/01/25(月) 17:19:21 ] あと最近いじっててこんなのもできた uproda.2ch-library.com/207979P9U/lib207979.png FormのPaitイベントでDrawLineにArrowAnchor指定して物なんだけど 別の機能をちょっと足せばグラデーション+AntiAliasで描ける
187 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:27:00 ] なるほど
188 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:38:03 ] デバッガでエラーが起きた場所が分からなくてつらい
189 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:47:44 ] >>185 スレチ
190 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 20:39:07 ] 遅くなってしまい申し訳ありません。168その他です。 昨日はくだらない質問に対していろいろとありがとうございました。 氷点下の世界を旅して、思い切ってWPFの本を買いに行ってみたのですが、取り扱ってる店が1件もありませんでした…… 佐川のお兄さんに運んで貰おうと思います。 >>178 ,179 吉里吉里ってそこまで高性能だったんですね。 あまり使う機会もありませんし、ハッシュは配列にキャストしてから〜ってのがうざったくて放置してました。認識改めます。
191 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 23:07:44 ] むしろWPFを使いこなせてないから同レベルくらいに見えるんだろう それが悪いというんじゃなく、それくらい習熟するのは時間がかかる
192 名前:デフォルトの名無しさん [2010/01/26(火) 00:14:08 ] ほとんどのノートPCで使われてるSynapticsのタッチパッドドライバがWPFと相性悪いらしく、 ListBoxほか大多数のScrollViewer系のコントロールで パッドのフチを使ったスクロールができず困っていたのだけど、 今年に入ってSynapticsがScrybeというツールのCTPを公開し その中に最新のタッチパッドドライバ15.0.0.1が含まれていて、 インストールしたところWPFアプリでもスクロールできるようになった! www.uscrybe.com/index.html PCメーカーのサポートページから入手できるタッチパッドドライバは大抵古いバージョンなので WPFのスクロールで困ってる人はこっちをインストールしてみてくれ 以上チラシの裏でした
193 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 02:49:31 ] >>191 つまりWPFのほうがより高度なものが作れるってこと?
194 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 08:05:08 ] >>171 の例1つとっても、画像使うか既定プリセットしかないきりきりより、 自分でHLSL書けるWPFのほうが高度だよ。サンプラーだって上限まで使えるしね。 ていうか、制御するコードにしてもVSとC#使えるんだから、そこらの簡易言語じゃ 勝負にならんでしょ。覚えることは多いけどね。
195 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 08:21:32 ] 綺麗なのだけじゃなく、スピード重視のローレベルな描画メソッド充実させてほしいな そしたらもっと裾野広がるのに
196 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:36:54 ] どっちにしてもWPF使ってツクールみたいなの作るはめになるんだと思うけどな。 べたがきだと使い回しきかんだろうし。
197 名前:デフォルトの名無しさん [2010/01/26(火) 09:49:21 ] >>196 ツクールを作ってた人が楽になるだけだよね 後はツクールを使ってた人が高度な実装知識無しで組めるようになるので 頑張ってツクールが担当してたエリアまで食い込んでくるかも windows ≒ IE XAML ≒ HTML C# ≒ Javascript こんな感じじゃない?
198 名前:デフォルトの名無しさん [2010/01/26(火) 09:50:21 ] windows ≒ IE これより VM ≒ IE か
199 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 10:14:38 ] Imageに画像のセンタリングをやめさせる方法はありますか?
200 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 10:19:40 ] 自己解決 VerticalAlignment, HorizontalAlignment 失礼しました
201 名前:デフォルトの名無しさん [2010/01/26(火) 20:42:54 ] パラメータに複数のエレメントを渡したい時はどのようにすればいいのでしょうか? 例 <Button CommandParameter="ここで同xaml内にある複数のエレメントを渡したい"/>
202 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:49:28 ] >>201 こんな感じのデータクラスを作って public class Hoge { public int ID { get; set; } public string Data { get; set; } } XAMLでHogeのアセンブリを参照 <Window x:Class="WpfApplication1.Window1" xmlns:d="clr-namespace:WpfApplication1" ほいさっさ <Button ... <ButtonBase.Content>Ok</ButtonBase.Content> <ButtonBase.CommandParameter> <d:Hoge ID="1" Data="AAAAAAAA"></d:Hoge> </ButtonBase.CommandParameter> </Button>
203 名前:デフォルトの名無しさん [2010/01/26(火) 21:53:48 ] >>202 おぉ!これは素晴らしい! ありがとう!
204 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:47:28 ] 補足、作法にのっとるなら依存関係プロパティ public class Hoge : DependencyObject { public DependencyProperty IDProperty = DependencyProperty.Register("ID", typeof(int), typeof(Hoge)); public DependencyProperty DataProperty = DependencyProperty.Register("Data", typeof(string), typeof(Hoge)); public int ID { get { return (int)this.GetValue(IDProperty); } set { this.SetValue(IDProperty, value); } } public string Data { get { return (string)this.GetValue(DataProperty); } set { this.SetValue(DataProperty, value); } }} これでBindingが使えるようになる。 <d:Hoge ID="0" Data="{Binding Source=button1, XPath=Content}"/>
205 名前:デフォルトの名無しさん [2010/01/26(火) 22:49:49 ] >>204 おぉぉ、なるほど! Dependency関係がよくわからなかったけどこういう風に使うのか! また一つ勉強になしました。 ありがとう!
206 名前:デフォルトの名無しさん [2010/01/27(水) 10:21:45 ] そういえばGyaOがヤフーに行ってから動画配信がSilverLight使ってるんだが あんなに重いものかね? プログラム作る上でネットブックをスペックの下限の指標にしてるんだが 動画配信中はその他ウインドウのReDrawすらままならないんだが
207 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 10:32:39 ] OSを 書け
208 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 10:51:43 ] VisualStudio2008ProSP1(Silverlight3 Tools for VS2008SP1 -JPN導入済、OS:XP)で、 CompositeApplicationGuidance-Oct2009の以下のクイックスタート用ソリューションの プロジェクトのプロパティや、Resources.resxを開こうとすると、必ずVisualStudioが強制終了します。 (エラーメッセージやダイアログが一切表示されず突然落ちます。) 同じ現象にあった方や対処法をご存知の方、いらっしゃいませんか? 強制終了するソリューション(Desktop only - Open QS) ・Directory Lookup Modularity QuickStart ・View Injection QuickStart 強制終了せずプロジェクトのプロパティを表示できるソリューション ・Commanding QuickStart ・View Discovery QuickStart ・Hello World QuickStart ・Configuration Modularity QuickStart ・Commanding QuickStart
209 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 11:02:35 ] >>208 です プロジェクト内にResources.resxがないことが原因のようです。 お騒がせしました。
210 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 14:29:15 ] WPFでWindowが閉じられる原因ってどうやったらわかりますか? WinFormsだとStackTrace使ったりFormClosingEventArgsにCloseReasonが あったんだけど、WPFでどうやったらいいか分からない
211 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 14:38:53 ] social.msdn.microsoft.com/Forums/en/wpf/thread/549a4bbb-e77b-4c5a-b724-07996774c60a
212 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 14:51:29 ] WndProc使うしか無いのか… ありがと
213 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 20:47:45 ] ChildFormのthis.DialogResultはViewに対する操作だからView側で処理して良いのかな? それともICommand等でバインドしてViewのコントロールをViewModelに渡すのが正しい作法?
214 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 20:48:27 ] ×ChildForm ○ChildWindow
215 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 12:04:19 ] Modelを触らない操作だからViewでOK
216 名前:デフォルトの名無しさん [2010/01/28(木) 21:34:09 ] 同一ソリューション内の他のプロジェクトをclr-namespaceを使ってXAML内で参照すると"CLR名前空間が定義されていません"と警告が出ます。 コンパイルOK、実行も何も問題ないのでこの警告をやめさせたいのですが何か方法はありますか?
217 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 23:37:42 ] WPFでdaisuke-watanabe.com/350/ みたいなローディングの画面は簡単に作れますか? ってぐぐったらでてきたわ。 おまえらは自作で作れたか?
218 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 23:41:06 ] ラスターイメージ使ったら負けだろ それくらいベクトルで描けよ