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