我有TreeView:
+Guitars
-+Electric
--+Normal
--+Bass
-+Acoustic
在XAML中:
<TreeView Name="GuitarClassTreeView" Grid.Column="0" Grid.Row="1">
<TreeViewItem Header="Guitars" MouseUp="TreeViewItem_MouseUp_Guitars">
<TreeViewItem Header="Electric" MouseUp="TreeViewItem_MouseUp_Electric">
<TreeViewItem Header="Normal" MouseUp="TreeViewItem_MouseUp_Normal" />
<TreeViewItem Header="Bass" MouseUp="TreeViewItem_MouseUp_Bass" />
</TreeViewItem>
<TreeViewItem Header="Acoustic" MouseUp="TreeViewItem_MouseUp_Acoustic"/>
</TreeViewItem>
</TreeView>
在每个节点上,我添加了另一个事件来显示DataGrid中的相应列表,但只有来自主节点的事件才有效。为什么呢?
编辑:
功能:
private void TreeViewItem_MouseUp_Guitars(object sender, MouseButtonEventArgs e)
{
ClearGrid();
guitarGrid.ItemsSource = myList;
}
每个其他函数都是相同的,但它有不同的列表作为源。
答案 0 :(得分:0)
根节点的区域包括子节点的区域。想想重叠的矩形。如果您只想点击一下文字部分,那么您必须提供自己的DataTemplate,例如:添加TextBlock并使用自己的事件。