5

重複の可能性:
スタイル セッターにブレンド動作を追加する方法

スタイルでインタラクション トリガーを使用すると、「トリガーはタイプ スタイルのアタッチ可能な要素ではありません」というエラーが表示されます。このエラーの実際の意味と解決方法の説明。

参考までに、MVVM Light ツールキットの EventToCommand の例をご覧ください。

この特定のケースでは、EventTitle としてイベントを表す Infragistics の Timeline コントロールを使用しています。EventTitle がクリックされたときに、コマンドを発生させたいと思います (Timeline コントロールは EventTitleClicked のようなイベントを定義しないことに注意してください)。現在、イベントを使用してコード ビハインドから ViewModel メソッドを呼び出すことで機能を実現できますが、代わりに xaml から直接コマンドを呼び出したいと考えています。

<Style x:Key="EventTitleTopStyle" TargetType="igTl:EventTitle">
    <!-- The following is not working -->
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="MouseLeftButtonDown">
            <!--<cmd:EventToCommand Command="{Binding MyCommand}" />-->
        </i:EventTrigger>
    </i:Interaction.Triggers>

   <!-- Using event setter instead to achieve the same -->
    <EventSetter Event="MouseLeftButtonDown" Handler="TopTitleMouseLeftButtonDown" />
    ....
4

2 に答える 2

2
<interactivity:Interaction.Triggers>
     <interactivity:EventTrigger EventName="MouseDoubleClick">
          <behaviours:ExecuteCommandAction Command="{Binding Path=DataContext.YourCommand, RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}}}" 
               CommandParameter="{Binding }"/>
     </interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
于 2011-04-22T20:30:40.150 に答える
-3
<TextBox x:Name="EditableControlTextBox" Loaded="RoomTextBox_Loaded">
         <interactivity:Interaction.Triggers>
              <interactivity:EventTrigger EventName="LostFocus">
                     <!--<cmd:EventToCommand Command="{Binding MyCommand}" />-->
              </interactivity:EventTrigger>
          </interactivity:Interaction.Triggers>
</TextBox>
于 2011-04-22T21:08:40.053 に答える