2016-07-15 8 views
1

MVVMパターンとPrismでWPFを使用していますが、ダイアログを表示するためにInteractionRequestsを使用しています。EventTrigger.Actionsを省略することはできますか?

私はInteractionTriggersとその動作を定義するとき、私はこのようにそれらを定義します。

<i:Interaction.Triggers> 
[Other event triggers] 
    <i:EventTrigger EventName="Raised" SourceObject="{Binding SomeConfirmationInteractionRequest}"> 
     <i:EventTrigger.Actions> 
      <windowActions:DialogWindowAction /> 
     </i:EventTrigger.Actions> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 

は今、私は私のEventTriggersをチェックし、実現した、私は<i:EventTrigger>の内部<i:EventTrigger.Actions>タグのいずれかが欠落しています

<i:EventTrigger EventName="Raised" SourceObject="{Binding SomeConfirmationInteractionRequest}"> 
    <windowActions:DialogWindowAction /> 
</i:EventTrigger> 

私のコードのこの部分がうまく働いていて、問題はありませんでした。

私の質問:

なぜ簡単に省略できますか?

私はそれを除外できますか?または、EventTrigger.Actionsタグを変更して、私がまだ実現していない/経験していないものを変更しないでください。

答えて

2

はい、安全に省略することができます。

TriggerBaseクラス(継承ツリーの上にEventTrigger)を見ると、属性が[ContentProperty("Actions")]であることがわかります。これは、XAMLの要素の直接の子としてActionsプロパティを処理するようにWPFに指示します。

これは、WPFで広く使用されています。 ContentControl sが[( "アクション")ContentProperty]など

+0

Panel sが、その内容としてChildren性質を持っている、(あなたが<Button><Image/></Button>代わりの<Button><Button.Content><Image/></Button.Content></Button>を書くことができます)Content性質を持っている - すごいです!だからxamlには同じことを説明する方法がたくさんあるので、私は知らなかった!ありがとうございました:) – Mafii

+0

IntelliSenseを使用して、特定の要素の下で書き込むことが許可されているものを確認することができます。それは正しいでしょう...ほとんどの時間。また、コンパイルして実行する場合は、おそらく大丈夫です;) –

+0

お役立ち情報:) – Mafii

関連する問題