WPF EventTriggers-属性「RoutedEvent」の文字列「MouseEnter」をタイプ「System.Windows.RoutedEvent」のオブジェクトに変換できません

StackOverflow https://stackoverflow.com/questions/630239

  •  08-07-2019
  •  | 
  •  

質問

イベントトリガーを機能させることができません。私がやっていることの簡単な例は以下です-

<Window x:Name="win" x:Class="EventTriggers.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
    <ControlTemplate x:Key="buttonT">
        <Border Background="#333">
            <TextBlock Text="{Binding}" HorizontalAlignment="Stretch" Foreground="White"/>
            <Border.Triggers>
                <EventTrigger RoutedEvent="MouseEnter">

                </EventTrigger>
            </Border.Triggers>
        </Border>
    </ControlTemplate>

    <DataTemplate x:Key="lbt">
        <Button Template="{StaticResource buttonT}" Click="Button_Click"></Button>
    </DataTemplate>

</Window.Resources>
<ListBox ItemsSource="{Binding ElementName=win,Path=col}" ItemTemplate="{StaticResource lbt}">
</ListBox>

UIElement で定義されているため、Borderに MouseEnter イベントがあることはわかっていますが、まだ取得しています

  

で文字列「MouseEnter」を変換できません   属性「RoutedEvent」のオブジェクト   「System.Windows.RoutedEvent」と入力します

アプリケーションを実行するとすぐに。

ご協力いただければ幸いです。

役に立ちましたか?

解決

タイプも指定する必要があるため、次のようにします。

<EventTrigger RoutedEvent="Mouse.MouseEnter"></EventTrigger>

他のヒント

イベント名を完全修飾:

<EventTrigger RoutedEvent="Border.MouseEnter">

</EventTrigger>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top