WPF EventTriggers: невозможно преобразовать строку «MouseEnter» в атрибуте «RoutedEvent» в объект типа «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>

Я знаю, что есть MouseEnter событие на границе, поскольку оно определено в UIElement но я все еще получаю

Не удается преобразовать строку «мышиный ветер» в атрибуте «routedEvent» в объект типа 'System.windows.routedEvent'

как только я запускаю приложение.

Любая помощь будет очень признательна.

Это было полезно?

Решение

Вам также необходимо указать тип, поэтому:

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

Другие советы

Полностью укажите имя события:

<EventTrigger RoutedEvent="Border.MouseEnter">

</EventTrigger>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top