У меня есть приложение wpf, которое отображает «Узел» следующим образом:
<TreeView HorizontalAlignment="Stretch" Name="treeView1" VerticalAlignment="Stretch" Width="Auto" Margin="6,6,6,35">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:Node}" ItemsSource="{Binding Children}">
<CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" IsThreeState="{Binding HasChildren}" IsChecked="{Binding IsChecked, Mode=TwoWay}" Content="{Binding Text}" Click="RefreshTree" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
Я хотел бы сделать следующее:
private void RefreshTree(object sender, RoutedEventArgs e)
{
Node leaf = sender as Node;
// Do stuff with leaf
}
Это не удается привести как объектимеет тип Controls.CheckBox.Есть ли способ получить отправителя события как моего базового типа шаблона (Node)?
Большое спасибо!