WPF C#TreeView子进程继承了root事件

时间:2015-01-26 16:08:01

标签: c# wpf treeview

我有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;
    }

每个其他函数都是相同的,但它有不同的列表作为源。

1 个答案:

答案 0 :(得分:0)

根节点的区域包括子节点的区域。想想重叠的矩形。如果您只想点击一下文字部分,那么您必须提供自己的DataTemplate,例如:添加TextBlock并使用自己的事件。

另见this question