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/
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 ] ラスターイメージ使ったら負けだろ それくらいベクトルで描けよ
219 名前:デフォルトの名無しさん [2010/01/29(金) 10:08:13 ] >>217 WPFでそういうことをやろうとも思わなかったけど DirectXでやれたようなことがむき出しになってるので できないことはないだろうな というかWPF使わなくてもVC#でも可能なレベルだろ 個人的にはそのアニメーションすらCPUパワーの無駄とか 思ってしまう
220 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 11:21:42 ] www.dotup.org/uploda/www.dotup.org602930.png こんなんでいいだろ
221 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:44:46 ] >>220 わたし女子中学生だけどそれはないわ
222 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 10:23:14 ] >>220 あたし女子小学生だけどそれはないね
223 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 10:26:29 ] ぼく女子高生だけどそれはない
224 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 10:43:06 ] 男子相撲部だけどごっつあんです
225 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 13:20:27 ] www.dotup.org/uploda/www.dotup.org606221.png わがままなおっさんたちだな
226 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 13:45:51 ] MVVMって流行だけどさ、 例えば、読み込むModelが複雑かつ長大な入れ子構造になっている様なとき、 ViewModelを作るコーディング時間と、実行時のコストって大変なものになると思うけど、 それでも分離しなくてはならないの?
227 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 14:05:59 ] >>226 テストによる品質保持にかかるコストがそれらを上回るなら。
228 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 14:19:23 ] ModelがINotifyPropertyChangedをしっかり実装してるなら、 そのままか同型のコピーをViewModelやViewに引き回しても問題ない。
229 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 15:40:50 ] 最近はそれを見越して始めから依存関係プロパティ付けて実装することが多いな・・・
230 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:04:52 ] WPFはまだ仕事では使ってないけどみんなはどう?
231 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:12:19 ] 当分縁がなさそう。 クライアントアプリを開発する案件がそもそも無いっす。
232 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 01:28:18 ] クライアントアプリを開発する人に聞いてるんだと思うよ
233 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 06:35:44 ] そういう人が居ないんじゃない?
234 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 07:04:51 ] よく”まだ”使ってませんって聞くけどいつになったら使う日が来るんですか?
235 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 08:21:35 ] VS2010、.NET4のbetaがとれたくらいか、 VS2010SP1、.NET4.5がでるころ
236 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 08:24:51 ] Win2kが根絶されるまでは無理ぽ
237 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 13:34:40 ] タブページとかXPで表示するとひどい目に遭うけどね
238 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 20:00:09 ] NT6が天下を取る頃
239 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 01:12:51 ] 楽だから選択権があれば使ってるよ でも重いから客には嫌われてるみたい
240 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 02:22:05 ] directx9が満足に動かないビジネス機じゃ重いかもな
241 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 07:52:21 ] ・・ということは私を含めみんな趣味レベルでWPFやってるってことか・・・。 主流になってくれとまでは言わんが、日の目を見ることなく自然消滅ということにはならんことを祈る
242 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 08:45:02 ] いや、趣味レベルでやってるのはあんただけだとおもうぞw
243 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 09:12:23 ] VS2010、Expression Encoder 3、Evernoteとかビジネスアプリの事例も増えてきてる
244 名前:デフォルトの名無しさん [2010/02/05(金) 09:33:08 ] MDXやXNA臭がするのは事実
245 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 09:38:54 ] > XNA臭 するするwwww
246 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 09:42:25 ] わざわざageて自演ですか?
247 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 22:32:50 ] >>228 そこまでやったら、Modelを直接バインドしたいなw
248 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 22:49:34 ] エッセンシャルWPFのP324にあるTreeViewとHierarchicalDataTemplateの 例がさっぱり分かんねーーーーー。 Binding Path='.'ってなんぞ。
249 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 22:58:47 ] そこにバインドされているDataContext自体。
250 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:01:54 ] 綺麗さよりもスピード重視したWPFがあればいいのに
251 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:02:37 ] DirectXで直接ゴリゴリやればいいじゃん
252 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:10:06 ] DirectXわかんない
253 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:14:50 ] WPFはバインドで動的にリフレクションの黒魔術で エロイムエッサイムしている時点でどうがんばっても速度は限界があるだsろ。
254 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:17:57 ] フレームワーク全体としてはともかく描画だけなら速くできるだろ そこ分離するためにDrawingみたいなちょっと低レベルなレイヤがあるんだから
255 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 23:35:42 ] >>247 そこまでやったら、俺のItemを美人Modelに直接バインドしたいなw
256 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:10:06 ] 面白いと思って書いてるんだろうか
257 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:17:26 ] たくさんレス付いてると思ってわくわくしながらリロードしてるんだろな
258 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:28:51 ] 少しつれた...
259 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 00:30:59 ] 今時こんなレスでも釣れたって言うのか
260 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 05:07:34 ] 十分大漁です(´・ω・`)
261 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 06:08:29 ] >>249 DataType="{x:Type io:DirectoryInfo}"で指定した型をコンバーターで返しているから、 返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか? IsExpandとかどう処理してんのか謎。 snipet <UserControl.Resources> <HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}"> <HierarchicalDataTemplate.ItemsSource> <Binding Path='.'> <Binding.Converter> <local:GetFileSystemInfoConveter /> </Binding.Converter> </Binding> </HierarchicalDataTemplate.ItemsSource> <TextBlock Text="{Binding Path=Name}" /> </HierarchicalDataTemplate> </UserControl.Resources> <TreeView ItemsSource="{Binding}" />
262 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 06:58:15 ] > <HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}"> > <HierarchicalDataTemplate.ItemsSource> > <Binding Path='.'> 型を返しているんじゃなくて、DataType=...は、「この型を表示要素に変換するDataTemplateだよ」と書いているだけ。 リソースに書いてあるデータテンプレートがあれば、明示的にデータテンプレートを書かなかった場合に その型のインスタンスをバインドしたときに自動的に適用される。 > 返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか? このコンバータはDirectoryInfoから、IEnumerable<DirectoryInfo>に変換するのかな? ならば、上と同様に型が一致すれば適用される。あとは再帰的に。
263 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 10:40:42 ] >>262 後出しになってすいません。 コンバータはreturn ((DirectoryInfo)value).GetDirectories();です。 レスありがとうございます。理解が進みました。
264 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:48:39 ] VS2010RC出たね WPFは作る方は楽なんだろうけど 使う方から見ると悪夢だな
265 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:50:17 ] >>264 そう?
266 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 10:30:27 ] VS2010に関して言えばレンダリングにWPF使ってるだけなので WPFだから特に楽って事もないだろう
267 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:12:52 ] WPFでフリーソフト作ってるけどWinXPは動作保障外にしてる 間違ってないよね俺
268 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:19:44 ] >>267 間違ってます
269 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:21:37 ] フリーソフトで動作保証なんてあるんか?
270 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:24:47 ] >>269 上手く動かなくても知らんってこと
271 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:46:09 ] フリーソフトなんだから好きにしたらいいよ
272 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 19:30:19 ] XPなんて臭いもん外すだろ…>>267 は正しい
273 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 19:33:19 ] WPFを使っているとXPとVista/7で細かい部分で挙動が違うことがままあるからなぁ… XPを保証外ってのは賢明だな。
274 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 19:36:04 ] XPは臭いのか まあそれはいいとして確かにXP->Vistaでかなり変わってるからなあ
275 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 20:59:02 ] そろそろ保証外にしてもいいんじゃないの?フリーソフトなら。 仕事だとなかなかそうはいかんかもしれないけど。
276 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 21:43:12 ] >>266 VS2010で再変換が使えるようになったのはWPF採用のおかげだと思う。
277 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 21:54:37 ] 再変換って?
278 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 21:56:43 ] え?
279 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 21:59:35 ] 再変換って言われてもIMEの再変換くらいしか思いつかない
280 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:11:42 ] 違うのか?
281 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:26:36 ] VS2010で再変換できるのがそんなにうれしいのかなと
282 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 15:11:04 ] WPFで、Silverlightアプリをホストできますか?
283 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 16:43:40 ] できるよ
284 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 20:12:47 ] codeplexにあったな
285 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:39:06 ] マウスクリックしてPopup表示するのどうすればいいんだ? 最初から表示させとくことしかできないの?
286 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:57:18 ] tooltipなのかダイアログかはっきり汁
287 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 16:03:08 ] Popupクラスだよ イベントハンドラかいて出来たけど
288 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 13:05:12 ] DataGridで右寄せにするにはどうすればいいですか? あるサイトにあった <Style x:Key="NumberColumnStyle" TargetType="{x:Type my:DataGridCell}"> <Setter Property="HorizontalAlignment" Value="Right" /> </Style> をそのまま書くとPropertyDescriptorの値が無効ですといわれてしまいます
289 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 13:45:39 ] ・・・忘れてください
290 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 14:30:15 ] 忘れられるもんか
291 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 17:01:05 ] あなたのことが忘れられないの///
292 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:15:11 ] 俺が忘れさせてやるよ
293 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:21:05 ] 金属バットで頭をバコーン☆! か
294 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 05:29:22 ] msdn.microsoft.com/ja-jp/library/bb613591.aspx#Images ここの解説で、 >この不要なオーバーヘッドを回避するには、 >WPF に対して、イメージをサムネイル サイズにデコードするように要求するか、 これはBitmapSourceを生成する時点で大きさを指定することで、 >サムネイル サイズのイメージを読み込むように要求します。 これはもとから小さいサイズの画像を用意しておくってことでいい? ImageコントロールのWidth/Heightでの指定は非効率つーことだよね
295 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 05:35:55 ] >>294 その辺はメモリやディスクの場所とCPU(GPU)の演算資源とのトレードオフだよ どの段階でサムネイルを用意するかはソフト次第ってところだけど たとえば3Dゲームなんかだとミップマップというのがそれっぽい 画像の管理かなあ
296 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 11:48:58 ] 質問です。 画像読み込み用スレッドにて作成した System.Windows.Media.Imaging.BitmapImage クラスを、ウィンドウのある元スレッドにて使用したいのですが、 InvalidOperationException が発生し、動作しませんでした。 別のスレッドからWPFエレメントを操作しようとすると、 同様の例外が発生することから多分無理だろうと思っていましたがやはりダメでした。 読み込む画像のサイズが大きくそれなりに数があるので、 できれば読み込みは非同期で行いたいと思っております。 どのような解決方法がございますでしょうか?
297 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:09:35 ] >>296 BitmapImage読み込み後にFreezeすればスレッド間で共有できる筈
298 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:55:58 ] >>297 早速調べてみます、ありがとうございます!
299 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:17:10 ] >>297 無事成功しました。 操作したい場合はCloneで置き換えればよいみたいですね。 ありがとうございました。
300 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 17:52:46 ] 最近WPF使ってるが、バインディングやらテンプレートのせいで ちょっと規模が大きくなってくるとコードの見通しが絶望的に悪くなってくる。 せっかくC#なのに・・・
301 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 17:57:45 ] そりゃ本来XAMLは人が読み書きするもんじゃないから
302 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 17:59:44 ] >>301 じゃ、どーやってつくるんだよ
303 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:01:34 ] XAMLでプログラムとデザインや設定が綺麗に分離されたのは素晴らしいんだが WPFの本領を発揮しようとすると途端に至る所で色んな処理を書かなきゃいけなくなって死ぬ
304 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:03:25 ] XAMLはGridだけで充分
305 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:05:28 ] >>304 表示も入力もできないよママン
306 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:36:38 ] XAMLはエディタが全プロパティきっちり書けるようになってからが本領発揮だと思う。 いまはどうしても手で書き足さないとだめだもんな。 Expression Blendは使ったことないからわからない。
307 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 11:52:03 ] WPF Toolkit - February 2010 Release
308 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 11:58:44 ] >>307 kwsk
309 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 12:37:08 ] >>307 うぉ、マジだ… wpf.codeplex.com/releases/view/40535