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 Report

Transcript 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