WPF EventTriggers - Impossibile convertire la stringa 'MouseEnter' nell'attributo 'RoutedEvent' in oggetto di tipo 'System.Windows.RoutedEvent'
-
08-07-2019 - |
Domanda
Non riesco a far funzionare alcun trigger di evento. Un esempio semplificato di ciò che sto facendo è di seguito -
<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>
So che c'è un evento MouseEnter
su Border poiché è definito in UIElement
ma sto ancora ricevendo
Impossibile convertire la stringa 'MouseEnter' in attributo "RoutedEvent" all'oggetto di digitare "System.Windows.RoutedEvent"
non appena eseguo l'applicazione.
Qualsiasi aiuto sarebbe molto apprezzato.
Soluzione
Devi fornire anche il Tipo, quindi:
<EventTrigger RoutedEvent="Mouse.MouseEnter"></EventTrigger>
Altri suggerimenti
Qualifica completa del nome dell'evento:
<EventTrigger RoutedEvent="Border.MouseEnter">
</EventTrigger>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow