4

WPF には、特定のタイプのイベントを同じタイプのすべてのコントロールに設定する方法があります。たとえば、TextBlock 型のすべてのコントロールで MouseLeftButtonDown イベントを設定しようとしています。明らかに間違っている私がやろうとしたことは次のとおりです。

<Style TargetType="{x:Type TextBlock}">
    <Setter Property="MouseLeftButtonDown" Value="TextBlock_LeftClick"/>
</Style>

これを行う方法はありますか?

4

2 に答える 2

7

はい、方法があります。 のEventSetterプロパティを使用して、そのスタイルが適用されたfor allStyleを設定できます。EventHandlerElements

例:

<Style TargetType="{x:Type TextBlock}">
    <EventSetter Event="MouseLeftButtonDown" Handler="TextBlock_LeftClick" />
</Style>
于 2013-02-24T20:14:39.167 に答える
4

これは、WPF EventManager を使用して 1 つのステートメントで実行できます。

EventManager.RegisterClassHandler(typeof(Hyperlink), 
                                  Hyperlink.ClickEvent, 
                                 new RoutedEventHandler(this.OnHyperlinkClick));
于 2015-06-06T18:43:26.203 に答える