More Related Content Similar to それではBehaviorでも使ってみましょうか。 (20) More from Hiroyuki Mori (17) それではBehaviorでも使ってみましょうか。1. それではビヘイビアでも
使ってみましょうか
森 博之(もり ひろゆき)
RIAアーキテクチャ研究会
極東IT-Engineers代表
Microsoft MVP – Development Platform
Silverlight
2. 自己紹介
• 森 博之(もり ひろゆき)
– 極東IT-Engineers代表
• http://www.kit-eng.com
– Blog
• もり ひろゆきの日々是勉強
– http://moriblog.kit-eng.com
• Twitter
5. ビヘイビア(Behavior)
• Expression Blend SDKの機能
– Silverlight SDKや.NET Frameworkにない機能
– WPFのTriggerの代替に考えられた実装パター
ン
→現在は本家のWPFに逆輸入
– 添付プロパティのメカニズムを利用して
Interactionクラスで実現されている機能
• Expression Blend 3にはじめて搭載され
る
– Silverlight3と同時リリース
6. WPFのTriggerって?
• FrameworkElement・Style・ControlTemplate・
DataTemplateなどの挙動を監視し、Setterや
Actionを実行する
– 監視する挙動(TriggerBaseの派生クラス)
• プロパティの変化(Trigger, MultiTrigger)
• データの変化(DataTrigger, MultiDataTrigger)
• 発生するイベント(EventTrigger)
– Setterクラス
• プロパティ設定
– 実行するアクション(TriggerActionクラスの派生ク
ラス)
• BeginStoryboardActionなどのストーリーボード操作
• SoundPlayなどの音声ファイルの再生
8. 添付プロパティって?
• XAMLの機能のひとつ
• オブジェクト間の通信をサポートする機
能
• static readonly DependencyProperty TargetProperty =
public 添付プロパティの多くは依存関係プロパ
DependencyProperty.RegisterAttached(
ティ “Target”, typeof(string), typeof(SampleClass),
new FrameworkPropertyMetadata(string.Empty,));
public static void SetTarget(UIElement attachedElement, string value)
{
}
public static string GetTarget(UIElement attachedElement)
{
}
14. TriggerBaseクラスの機能
• 主要メンバー
– フィールド
• protected object AssociatedObject;
– 添付されたオブジェクトが格納されている
– プロパティ
• public TriggerActionCollection Actions;
– TriggerActionのコレクション
– メソッド
• protected void OnAttached();
– 添付時
• protected void OnDetaching();
– 添付解除時
• protected void InvokeActions();
– Actionsに指定されたオブジェクトのActionメソッドを呼び出し
15. 代表的なトリガー
• EventTrigger
– 指定オブジェクトのイベントを監視
• DataTrigger
– データの変化を監視
• PropertyChangedTrigger
– プロパティの変化を監視
• KeyTrigger
– キー入力を監視
16. TriggerActionは・・・
• 主要メンバー
– プロパティ
• protected object AssociatedObject;
– メソッド
• Protected abstract void Invoke(object
parameter);
• 挙動
– AssociatedObjectに対してActionを実行でき
る
– 異なる対象にActionを実行する場合は
TargetedTriggerAction利用する
19. Behavior?
• その他名前のとおり、添付されたオブ
ジェクトもしくは指定のあったオブジェ
クトに対しての振る舞いを追加したりカ
スタムすることができるオブジェクト
• Triggerのようにきっかけの指定は必要な
い
→ただし、Triggerのようにふるまわせるこ
とも可能
21. まとめ
• ビヘイビアとは
– 添付プロパティを利用して振る舞いや簡単な
処理を実行するメカニズム
– Expression Blend SDKのみの機能
• Expression Blend SDK単体のダウンロードも可能
– 応用するといろんなことができますよ♪
22. Microsoft Innovation Academy
• マイクロソフト大手町テクノロジーセンターで実施
– Visual Studio 2010ではじめるWPFプログラミング入門
• 基礎編 12/8
• 応用編 12/9
– 開発者のためのSIlverlight4プログラミング
• 前編
• 中編
• 後編
– Windows Phone プログラミング入門
• UI基礎編 12/6
• Phone機能編 12/7
– 開発者のためのWindows Azure
• 入門
• 実践編