WPF EventTriggers - невозможно преобразовать строку «MouseEnter» в атрибуте «RoutedEvent» в объект типа «System.Windows.RoutedEvent» - PullRequest
5 голосов
/ 10 марта 2009

Я не могу заставить работать любые триггеры событий. Ниже приведен упрощенный пример того, что я делаю -

<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, но я все еще получаю

Невозможно преобразовать строку 'MouseEnter' в атрибут 'RoutedEvent' для объекта тип 'System.Windows.RoutedEvent'

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

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

Ответы [ 2 ]

14 голосов
/ 10 марта 2009

Вы также должны указать тип:

<EventTrigger RoutedEvent="Mouse.MouseEnter"></EventTrigger>
6 голосов
/ 10 марта 2009

Полностью определите название события:

<EventTrigger RoutedEvent="Border.MouseEnter">

</EventTrigger>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...