1 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 19:59:01 ] あたらしいGUI FW、WPFについて語るすれ。 .NET3.5 SP1 Betaもリリースされて盛り上がってまいりますた。 WPF 3.5 SP1 Graphics with David Teitlebaum ttp://channel9.msdn.com/Showpost.aspx?postid=403854 .NET Framework 3.5 www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=ja Microsoft .NET Framework 3.5 Service Pack 1 Beta ttp://www.microsoft.com/downloads/details.aspx?FamilyId=8C36ACA4-E947-4760-9B05-93CAC04C6F87&displaylang=ja Microsoft .NET Framework 3.5 Service Pack 1 Beta リリース ノート ttp://download.microsoft.com/download/E/E/3/EE3AEDD2-3EF5-4878-964D-332E6B0E05D1/dotNetReadMe.htm Visual Studio 2008 ttp://www.microsoft.com/japan/msdn/vstudio/default.aspx Microsoft Visual Studio 2008 Service Pack 1 Beta ttp://www.microsoft.com/downloads/details.aspx?FamilyID=cf99c752-1391-4bc3-babc-86bc0b9e8e5a&DisplayLang=ja 前スレ 【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】 ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/
396 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 23:37:04 ] XAMLに否定的な意見がいくつかあるが、俺の意見としては そもそもXMLなんて人間が読み書きするもんじゃない。 適切なUIが用意されていないXMLはただのゴミ。 そんなものを直に読み書きして、文句垂れてるやつはただのアホ。
397 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 00:30:43 ] >>395 それはXAMLの利点であって >>391 で書かれている「XAMLを使わないと無くなってしまうWPFの利点」 ではないよね。 >>396 同意。 こんなもの直書きするのがアホ。
398 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 02:03:29 ] つLooseXAML
399 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 10:08:47 ] 結局Designer.csを綺麗にしたようなもんでしょ
400 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 10:48:16 ] Bindingはコードで書く気になれない
401 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 21:46:11 ] MSとしてはBlend買えってことでしょ。 それ前提で考えればメリットはわざわざ書くまでもない。
402 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 21:53:25 ] 結局隠れてるならXAMLである必要性って無いな。 BlendがC#のコード吐いてもいいんだし。
403 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:01:24 ] ぱかぢゃないの?
404 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:08:07 ] 要は、XML 嫌いの LISPer さんか何かが暴れてるのか?
405 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:09:52 ] 「なくてもいい」で「あった方がいい」を否定できると思ってるのかな。 対偶の位置にないのに。
406 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:11:40 ] 余分だと思うなら使わなきゃいいだけだしな 多い分にはデメリットにはならん ・・・XAMLのせいでパフォーマンスがとかそういうことないよね?
407 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:28:21 ] >>406 それは残念ながら、XAML かどうかに関係なく WPF 自体が重い。 データバインディングのために中身がリフレクションだらけだろうしね。
408 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:32:37 ] Silverlightは結構速いもんなあ
409 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 02:10:03 ] 3.51になってもやっぱり重いの?(´・ω・`)
410 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 07:42:55 ] 3.6 かな。 VS2008SP1 同梱のやつよね。 描画回りは速くなったって話だけども。 うちのデスクトップ環境だとグラボ結構いいの積んでて、 描画は元々気になったことないからわからない。
411 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 20:24:52 ] XAMLでどうやってボタンの数を増やしたり減らしたりするのかがわからない UIを可変にするにはどうやればいいんだ
412 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:07:45 ] C#やVBのコードじゃなくてXaml側で動的に生成するのはめんどいだろうし、 wpfはそういうものじゃないと思うけどな。
413 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:11:29 ] ListBoxのテンプレートいじってバインディング?
414 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:31:24 ] >>411 用途による。 単純に機械生成が目的なんだったら >>412 の言うように XAML でやることじゃない。 素直に C# コード側で Children.Add(new Button{})。 可変長のデータを ListBox 中に表示したいってのが目的なんだったら、 >>413 の言うように DataTemplate を書く。 ListBox.ItemTemplate を設定するか、 <DataTemplate DataType="{x:Type XXX}">
415 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 00:21:09 ] 何だかんだでMSの力技で流行るんですか? WPFとかXAMLとか
416 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 00:25:53 ] >>415 XAML 自体はそれなりに行くと思う。 Silverlight 2 or later もあるし。 WPF は、なくなりはしないけども、 今、元 WPF チームの人員は Silverlight に駆り出されてるって話も聞くし、 力押ししてもらえるかどうか。 WinForms の置き換えとしては優秀だと思うんで、 今後使われはするだろうけども。
417 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 00:44:50 ] WPFはSilverLightも含めてだけど柔軟性とか思想はよいとおもふ。 けどなぁ、とりあえず重すぎ。 AVALONの頃のコンセプトビデオを実現してるのってなんか無いような気がしてきた・・・
418 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 04:25:26 ] XAMLにもJavaScript的なものがあったら便利だと思うんだよね UIを可変にするためにさ
419 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 07:16:37 ] >>411 ,418 Childrenコレクションに子要素を追加すればHTML DOMと同じようなことが出来る。 >>207 のを参考に。これのやってることは次のXAMLとかわらん。 <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition Height="84"/> </Grid.RowDefinitions> <DockPanel x:Name="DockPanel1" Grid.Row="0"> <TextBlock x:Name="tb1" TextWrapping="Wrap" Background="Aqua">not used xaml wpf-application demo</TextBlock> <TextBlock x:Name="dynatb" TextWrapping="Wrap" Background="Yellow">いろはにほへと ちりぬるを</TextBlock> <TextBlock x:Name="tb3" TextWrapping="Wrap" Background="LightBlue"> いろはにほへと ちりぬるを いろはにほへと ちりぬるを いろはにほへと ちりぬるを いろはにほへと ちりぬるを いろはにほへ.. </TextBlock> </DockPanel> <Button x:Name="Button1" Grid.Row="1" Height="48" Width="240" Content="push me" FontSize="24"/> </Grid> 例えば、ボタンをDockPanelに動的に追加したいなら DockPanel1.Children.Add(new Button()) といった感じになる。
420 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 07:23:48 ] >ボタンの数を増やしたり減らしたりする 程度だったら表示・非表示を切り替える方法が一般的。 基本的に動的レイアウトだから追加したかのように見える。
421 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 08:25:28 ] >>418 それがコードビハインドだから。 WPF の場合は XAML 中に Script タグ書けるけども、非推奨。
422 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 14:33:38 ] すいません、教えてください。 "Expression Blend"で作ったWPFコントロールライブラリを"Visual Studio"で利用する方法がわかりません。 参照追加してもオブジェクトブラウザにしか表示されず、コントロールとして扱えないんです。 もしかして「Expression」で作ったものは「Visual Studio」で使うことはできないんでしょうか・・・ それとも、「WPF」にそんな概念すらないものなんでしょうか?
423 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 18:25:42 ] >>422 プロジェクトの参照に追加ではなく、 ツールボックス>アイテムの選択 から参照dllを追加する
424 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 18:33:05 ] ああぁっ!そういうことだったんですか! できました〜(PД`q。) 本当に、m( _ _ )m ありがとうございました。
425 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:42:29 ] デザイナのタブで直接動作テストできるようにならないんかな
426 名前:デフォルトの名無しさん [2008/09/19(金) 12:56:50 ] だめだ・・・・ まだWIN2000使ってる企業が多いのに3.5に移行なんぞできない 2000までサポートすりゃ使いたいが・・・・
427 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 23:20:19 ] longhorn時代のコンセプトビデオではAVALONスゲェ━━━━━━ヽ(゚Д゚)ノ━━━━━━!!!! とおもってたんだが、WPFがでてからしばらくしてもこれはスゲェ━━━━━━ヽ(゚Д゚)ノ━━━━━━!!!!というソフトが出てこないのはなぜですか?
428 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 23:39:50 ] Avalon時代に想定されていたCPU 6GHz メモリ8GBの環境が整ってないからですw
429 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 23:42:43 ] メモリ要求は8GBじゃなくて2GBだったお orz
430 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 23:55:34 ] >>428 それは時代が周波数アップからマルチコア化に変わっただけでは。 今、デュアルの3GHzとかだし。
431 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 03:53:50 ] >>430 デュアルコアの4〜6GHzなんだなこれが。
432 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 10:20:30 ] >>431 そんなの想定してたのか。 平均レベルが? 上の方のレベルだと今でもクワッドと6コアとかになってるが。 来年くらいにはクワッド2〜3GHzが主流になってるのかね。
433 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 10:33:37 ] LoiLoScopeはすごいと思う
434 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 10:55:09 ] あれはよいかも。 でもあれDirectXじゃなかったっけ?
435 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 11:03:14 ] マルチコア化ってCPUのクロックの限界にぶち当たったから 苦肉の策でやってるだけだぜ
436 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 11:17:47 ] ネットサーフィンくらいしかしないユーザーがマルチコアを有効に使えそうな場面て 動画のデコードくらいしか思いつかない。
437 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 11:21:55 ] そういうユーザは動画見てる時はそれだけに集中するからマルチじゃなくても余裕なんだよな
438 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 11:33:00 ] 今はシングルでも辛い事少ないだろうしね
439 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 11:53:37 ] でもデュアルコアには感動したな 何か処理しててもキビキビ動く
440 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 17:14:22 ] TextBlockのForegroundプロパティにLinearGradientBrushを指定して かなと漢字が混ざったテキストを表示させると、かなと漢字の境目でグラデーションが 途切れるんだけどなんとかならない?
441 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 20:36:28 ] ClearTypeでも有効にしてるんじゃね? 影響あるか知らんけど
442 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 02:11:58 ] ScrollViewerの中のTextBlockにKeyDown拾わせるために、フォーカス持たせたいんだけど、 focus()呼んだ直後にフォーカス失ってるっぽい。 ScrollViewerの外のTextBlockなら大丈夫なんだけど、なんで? TextBox使えよってのはなしの方向でたのんます。
443 名前:442 mailto:sage [2008/09/24(水) 03:02:30 ] なんかよくわかんねぇけど、治った。 orz
444 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 21:48:28 ] こういうルーズXAMLを作って遊んでいるのですが ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7737.txt <RectangleGeometry.Rect> <Rect X="0" Y="0" Width="123" Height="110"/> のXだけをDoubleAnimationを使って変更する方法はないでしょうか Storyboard.TargetProperty ="Rect.X" などではエラーになります とりあえずRectAnimationで回避してますがちとメンドくさいです
445 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 08:37:24 ] PowerPointとVisioのXAML化まで、つぎのOfficeは買わないつもり。
446 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:52:30 ] >>444 Rectは値型だから
447 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 03:53:01 ] XBAP製のXAMLPadみたいな何かってもうあったっけ? とふと疑問に思ったがどっちにしろ.NET3.x必要だから無意味か
448 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 14:46:19 ] 前にSilverlightでだけどXAMLをスキン代わりにしてWebメールサービスの模様替えするみたいなデモやってたけど ああいうのをユーザーがブラウザ上で自由に編集できるエディタあるといいと思う
449 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:15:25 ] >>448 許可する。作れ
450 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 23:10:19 ] >>449 編集結果を適用させるすべがないから無理
451 名前:デフォルトの名無しさん [2008/10/04(土) 20:45:32 ] 自作コントロールの中にExpanderが入ってるんだが、 Expanderを広げたときにコントロールのサイズも合わせて大きくするってのは コード書かないとできない?
452 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:20:16 ] >>450 XamlReaderでできないか?
453 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 15:33:00 ] XAMLでメッセージボックスを表示すると、System.Windows.FormsのメッセージボックスのようにVisual Styleが適用されないんですが、同じように(Visual Styleが適用された)デザインにする方法はないでしょうか?
454 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 12:13:12 ] System.Windows.Forms.FolderBrowserDialogを呼び出すときにオーナーウィンドウを指定したいんだけど WPFのWindowからIWin32Windowを得るにはどうやればいいんですか?
455 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 12:23:53 ] WindowInteropHelperでウィンドウハンドル取得 あとはIWin32WindowのWPF的基本実装としてHwndSource
456 名前:454 mailto:sage [2008/10/09(木) 15:29:30 ] >>455 HwndSourceのIWin32WindowとFormのIWin32Windowは別のinterfaceだったので 自分で実装して解決しました。 ありがとうございました。
457 名前:デフォルトの名無しさん [2008/10/11(土) 22:56:54 ] PropertyGridのWPF版みたいなのってない? サードパーティで発売されてるのがあるってことは Microsoft製では存在しないってことかな?
458 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 23:03:48 ] ttp://blogs.wankuma.com/kazuki/archive/2008/02/03/120719.aspx ここのサンプルみたいにHierarchicalDataTemplateを使う場合 TreeViewItem.Expandedのようなイベントを拾うにはどうやればいいんでしょうか?
459 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 00:59:39 ] >>458 親の TreeView 側で routed event を拾って、 sender を調べる。
460 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 09:56:20 ] 非WPFでのAutoSizeに対応するものって何?
461 名前:デフォルトの名無しさん [2008/10/15(水) 00:35:27 ] <UserControl xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation " xmlns:x="schemas.microsoft.com/winfx/2006/xaml " x:Class="testnamespace.TitledThumb" x:Name="UserControl"> <Thumb Focusable="True" DragCompleted="Thumb_DragCompleted" DragDelta="Thumb_DragDelta" DragStarted="Thumb_DragStarted"> <Thumb.Template> <ControlTemplate TargetType="{x:Type Thumb}"> <Grid x:Name="LayoutRoot"> <Rectangle Fill="#FFFFFFFF"/> <Label Content="ここに文字を入れたい"/> </Grid> </ControlTemplate> </Thumb.Template> </Thumb> </UserControl> TitledThumbクラスには依存関係プロパティ"Text"を用意した。 これの「ここに文字を入れたい」ってところにTextの内容を入れたい。 どうしたらいい?
462 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 00:49:59 ] >>461 {Binding RelativeSource={RelativeSource AncestorType={x:Type Thumb}}, Path=Text }
463 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:18:26 ] あるUserControlの中に複数のSliderが存在したときに そのUserControlを利用する側で Thumb.DragCompleted、Thumb.DragStartedのイベントを受けたとき どのSliderのイベントか判別ってできますかね?
464 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 08:50:05 ] sender が何かで区別。 てっとり早くやるなら Tag に何か入れとく。
465 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 21:51:47 ] >>462 Thanks!