WPF便利ツール Snoopを使いWPFを理解しよう by usay わんくま同盟 東京勉強会 #15 アジェンダ • • • • • Snoop(WPF向け)とは? ざっと操作の説明。 依存プロパティ(Dependency Property)とは? データバインディングとは? まとめ わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? • パケットスニファではありません。 • WPFアプリのデバッグ用ツール。 • Spy++のようにメッセージ(event)を見ること ができ、それに加えて、PropertyGridのように、 プロパティの確認および、直接編集できる ツールです。 WPFで開発をするなら必須ツール。いますぐ QuickLaunchに放り込むかショートカットを設 定してください。 わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? • 作者はpete blois氏。 http://www.blois.us/blog/ • Expression toolsの開発メンバー • 一応Snoop自体はunofficial toolです。 •
Download ReportTranscript WPF便利ツール Snoopを使いWPFを理解しよう by usay わんくま同盟 東京勉強会 #15 アジェンダ • • • • • Snoop(WPF向け)とは? ざっと操作の説明。 依存プロパティ(Dependency Property)とは? データバインディングとは? まとめ わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? • パケットスニファではありません。 • WPFアプリのデバッグ用ツール。 • Spy++のようにメッセージ(event)を見ること ができ、それに加えて、PropertyGridのように、 プロパティの確認および、直接編集できる ツールです。 WPFで開発をするなら必須ツール。いますぐ QuickLaunchに放り込むかショートカットを設 定してください。 わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? • 作者はpete blois氏。 http://www.blois.us/blog/ • Expression toolsの開発メンバー • 一応Snoop自体はunofficial toolです。 •
WPF便利ツール Snoopを使いWPFを理解しよう by usay わんくま同盟 東京勉強会 #15 アジェンダ • • • • • Snoop(WPF向け)とは? ざっと操作の説明。 依存プロパティ(Dependency Property)とは? データバインディングとは? まとめ わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? • パケットスニファではありません。 • WPFアプリのデバッグ用ツール。 • Spy++のようにメッセージ(event)を見ること ができ、それに加えて、PropertyGridのように、 プロパティの確認および、直接編集できる ツールです。 WPFで開発をするなら必須ツール。いますぐ QuickLaunchに放り込むかショートカットを設 定してください。 わんくま同盟 東京勉強会 #15 Snoop(WPF向け)とは? • 作者はpete blois氏。 http://www.blois.us/blog/ • Expression toolsの開発メンバー • 一応Snoop自体はunofficial toolです。 • Snoop自身もWPFで書かれていて、ソース コードが公開されています。ぜひ改造して使 いましょう。 http://www.blois.us/Snoop/ わんくま同盟 東京勉強会 #15 ざっと操作の説明。 わんくま同盟 東京勉強会 #15 ざっと操作の説明。 • 対象のアプリケーションを指定する。 • Ctrl+ShiftでMouseOverして対象のコント ロールを指定する。 • TreeViewの説明 • ProperTreeView(Property Grid)の説明。 • EventsView(RoutedEvents )の説明。 わんくま同盟 東京勉強会 #15 依存プロパティ(DependencyPropety)とは? わんくま同盟 東京勉強会 #15 依存プロパティ( Dependency Property)とは? • プロパティをWPF内部で管理したもの。 • いままでのプロパティをCLRプロパティと呼ん で区別をしたりします。 • 何ができるのか?……リソース、データバイ ンディング、スタイル、アニメーション、メタ データのオーバーライド、プロパティ値の継承、 WPFデザイナの統合。 わんくま同盟 東京勉強会 #15 依存プロパティ( Dependency Property)とは? • 特定の状況下でのみ使用するプロパティが あっても値を設定しなければ、メモリ使用量が 少ない。 • 依存プロパティの特殊な形、添付プロパティ (Attached property) • 他のクラスが他のクラスに対して、プロパティ を設定できる。A(使用するクラス)→B(使用 されるクラス)の場合にのみに使用するプロ パティ、Bにプロパティを実装しなくてよい。 わんくま同盟 東京勉強会 #15 Formの場合 依存プロパティ( Dependency Property)とは? わんくま同盟 東京勉強会 #15 WPFの場合 依存プロパティ( Dependency Property)とは? わんくま同盟 東京勉強会 #15 DEMO Snoopで依存プロパティを見てみよ う。 わんくま同盟 東京勉強会 #15 依存プロパティ( Dependency Property)とは? プロパティ値の継承。主な利用例としては ← DataContext ←暗黙的なスタイルの参照 ←そこだけ限定のプロパティ、リソース、 データバインド わんくま同盟 東京勉強会 #15 データバインディングとは? わんくま同盟 東京勉強会 #15 データバインディングとは? • MVCアーキテクチャのビューとモデルの接合 点 • バインディングターゲットは依存プロパティの み。 • バインディングソース(モデル)がバインディン グターゲット(ビュー)になぜか反映できないこ とがよく起こる。その場合にSnoopが利用で きる。 わんくま同盟 東京勉強会 #15 デモ Snoopでデータバインディングを見 てみよう。 わんくま同盟 東京勉強会 #15 データバインディングとは? • diag:PresentationTraceSources.TraceLev el="high"という添付プロパティ(Attached property)を使用することで、さらに詳細な情 報をみることができます。 わんくま同盟 東京勉強会 #15 まとめ • 今日はSnoopの使い方について説明しました。 • 依存プロパティについて説明しました。 • データバインディングで例外が発生したとき の対処法について説明しました。 わんくま同盟 東京勉強会 #15 ご清聴ありがとうございました。 WPF開発で困ったら、ぜひSnoopを使ってみて ください。 わんくま同盟 東京勉強会 #15