我无法使用任何事件触发器。我正在做的一个简化示例如下 -
<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'
我一运行应用程序。
非常感谢任何帮助。
答案 0 :(得分:14)
你也必须提供类型,所以:
<EventTrigger RoutedEvent="Mouse.MouseEnter"></EventTrigger>
答案 1 :(得分:6)
完全限定事件名称:
<EventTrigger RoutedEvent="Border.MouseEnter">
</EventTrigger>