У меня есть класс, MyAttachedEventClassAquarium
, который определяет пользовательскую привязку, взятую из документации MSDN. У меня есть Window
, который использует EventTrigger
в XAML, чтобы связать событие, которое нужно обработать на модели просмотра Window
. Модель viewmodel объявлена как локальный ресурс.Подключенные события с EventTrigger
<Window.Resources>
<local:WinVM x:Key="myWinVM" />
</Window.Resources>
<i:Interaction.Triggers>
<i:EventTrigger EventName="NeedsCleaning" SourceName="MyAttachedEventClassAquarium">
<ei:CallMethodAction MethodName="MyCustomEventWasRaised" TargetObject="{StaticResource myWinVM}" />
</i:EventTrigger>
</i:Interaction.Triggers>
Я использую собственный RaiseEvent окна, чтобы поднять прилагаемое событие от нажатия кнопки обработчика:
private void button1_Click(object sender, RoutedEventArgs e)
{
((Window1)((Grid)((Button)sender).Parent).Parent).RaiseEvent(new RoutedEventArgs(MyAttachedEventClassAquarium.NeedsCleaningEvent));
}
Почему не мой обработчик можно назвать?
Заранее спасибо.
B.
Вы проверили окно вывода на наличие ошибок? – whoisthis
Да. В окне вывода не было ошибок. – Balage