Вы можете использовать командование для достижения этой цели. Пусть Button
s в DataTemplate
выполнит определенные Command
s:
<Button Command="{x:Static MyCommands.SomeCommand}"/>
Затем пусть каждое представление, которое использует DataTemplate
, обрабатывает Command
:
<UserControl>
<UserCommand.CommandBindings>
<CommandBinding Command="{x:Static MyCommands.SomeCommand}"
Executed="_someHandler"/>
</UserCommand.CommandBindings>
</UserControl>
РЕДАКТИРОВАТЬ после комментариев: После того, как вы создали код для своего ResourceDictionary
согласно этим инструкциям , вы можете просто связать события обычным способом:
В MyResources.xaml
:
<ListBox x:Key="myListBoxResource" ItemSelected="_listBox_ItemSelected"/>
Затем в MyResources.xaml.cs
:
private void _listBox_ItemSelected(object sender, EventArgs e)
{
...
}