У меня есть настольное приложение WPF в Visual Studio 2015 с расширениями Blend. Я хочу добавить EventTrigger
в ComboBox
для события KeyDown
, но когда я нажимаю клавишу (ESC), я получаю следующую ошибку: Could not find method named 'ComboBoxExitingStrategyKeyDown' on object of type 'ComboBox' that matches the expected signature.
Мой XMAL выглядит так:
<UserControl x:Class="MyserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:se="http://schemas.microsoft.com/expression/2010/interactions"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
<ComboBox x:Name="myComboBox" Grid.Row="9" Grid.Column="1"
Style="{StaticResource MasterComboBox}"
ItemsSource="{Binding Path=InternalSourceItems, Mode=OneWay}"
SelectedItem="{Binding Path=InternalItem, UpdateSourceTrigger=PropertyChanged}"
Text="{Binding Path=InternalItemSelectedValue, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="InternalValueItemDescription"
Margin="6,5,6,7">
<i:Interaction.Triggers>
<i:EventTrigger SourceObject="{Binding ElementName=myComboBox}" EventName="KeyDown">
<se:CallMethodAction MethodName="ComboBoxExitingStrategyKeyDown"
TargetObject="{Binding ElementName=myComboBox}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
У метода есть такая подпись:
public void ComboBoxExitingStrategyKeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("Good");
}
Я перепробовал все, защищенный, приватный, общедоступный, без параметров, только один, RoutedEventArgs
и всегда получаю сообщение.
Я что-то упустил?