Actionsプロパティは依存プロパティとして実装しましょう。
何故?
依存プロパティとして実装しないと、ActionにBindingが出来なくなります。
例
Actionsが依存プロパティではなく、普通のプロパティの場合、以下のようにActionsの中のActionで{Binding}したときにDataContextが切れてnullが渡ってしまいます。
<Button Content="ClickEventTriggerBehvior and MainPageViewModelMessageDialogAction sample button"HorizontalAlignment="Left"Margin="120,176,0,0"Grid.Row="1"VerticalAlignment="Top"><Interactivity:Interaction.Behaviors><Behaviors:ClickEventTriggerBehavior><Behaviors:ClickEventTriggerBehavior.Actions><Behaviors:MainPageViewModelMessageDialogAction TargetObject="{Binding}"/></Behaviors:ClickEventTriggerBehavior.Actions></Behaviors:ClickEventTriggerBehavior></Interactivity:Interaction.Behaviors></Button>
愚痴
以下のようなプロパティの実装がお手本としてあるから、添付プロパティにしなくてもいいじゃん?って思って普通のプロパティとして実装してしまいがちだけど、そうするとActionでBindingできなくて死ぬ。
public ActionCollection Actions { get { var actions = (ActionCollection)GetValue(ActionsProperty); if (actions == null) { actions = new ActionCollection(); this.SetValue(ActionsProperty, actions); } return actions; } }
いまいち。