質問を単純にするために、たとえば、このようなものを何十回も使用する必要があります。
<Rectangle>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<ei:ChangePropertyAction TargetName="AnotherObjectOnTheView"
PropertyName="Visibility"
Value="Visible" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Rectangle>
明らかに、必要な場所に何十回も貼り付けたくありません。だから私はそれらをこのようなものに入れようとしましたContentControl
;
<Style x:Key="MyThingy" TargetType="ContentControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
<Rectangle>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<ei:ChangePropertyAction TargetName="AnotherObjectOnTheView"
PropertyName="Visibility"
Value="Visible" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Rectangle>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
アイデアがあれば、テンプレートを次のように呼び出すだけで、インスタンスごとにそのすべてを置き換えることができます。
<ContentControl Style="{StaticResource MyThingy}"/>
問題を除いて、 に埋め込まれているContentControl
場合、インタラクション トリガーが起動していないように見えます。テンプレート化されたアイテムは正常に表示されますが、トリガーを無視しているようですか?
問題は、テンプレート化されたアイテムに添付されたトリガーが無視されるのはなぜですか、それとも、私が望むことを達成するためのより良い方法があるのでしょうか?