WPF EventTriggers - Impossible de convertir la chaîne 'MouseEnter' dans l'attribut 'RoutedEvent' en objet de type 'System.Windows.RoutedEvent'
-
08-07-2019 - |
Question
Je ne parviens pas à faire fonctionner un déclencheur d'événement. Un exemple simplifié de ce que je fais est ci-dessous -
<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>
Je sais qu'il existe un événement MouseEnter
sur Border, car il est défini dans UIElement
, mais je reçois toujours
Impossible de convertir la chaîne 'MouseEnter' en attribuer 'RoutedEvent' à l'objet de tapez 'System.Windows.RoutedEvent'
dès que je lance l'application.
Toute aide serait extrêmement appréciée.
La solution
Vous devez également fournir le type, donc:
<EventTrigger RoutedEvent="Mouse.MouseEnter"></EventTrigger>
Autres conseils
Entièrement qualifier le nom de l'événement:
<EventTrigger RoutedEvent="Border.MouseEnter">
</EventTrigger>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow