WPF EventTriggers: no se puede convertir la cadena 'MouseEnter' en el atributo 'RoutedEvent' al objeto del tipo 'System.Windows.RoutedEvent'
-
08-07-2019 - |
Pregunta
No puedo hacer que funcionen los disparadores de eventos. A continuación se muestra un ejemplo simplificado de lo que estoy haciendo:
<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>
Sé que hay un evento MouseEnter
en Border, ya que está definido en UIElement
, pero sigo obteniendo
No se puede convertir la cadena 'MouseEnter' en atribuir 'RoutedEvent' al objeto de escriba 'System.Windows.RoutedEvent'
tan pronto como ejecuto la aplicación.
Cualquier ayuda sería muy apreciada.
Solución
También debe proporcionar el Tipo, así que:
<EventTrigger RoutedEvent="Mouse.MouseEnter"></EventTrigger>
Otros consejos
Califique completamente el nombre del evento:
<EventTrigger RoutedEvent="Border.MouseEnter">
</EventTrigger>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow