WPF EventTriggers: no se puede convertir la cadena 'MouseEnter' en el atributo 'RoutedEvent' al objeto del tipo 'System.Windows.RoutedEvent'

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

  •  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.

¿Fue útil?

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
scroll top