WPF TreeView 相关技巧

WPF 中的 TreeView 相关实用技巧如下

响应 TreeViewItem 的双击事件

这是一个较怪异的问题,如果在 TreeView 的 MouseDoubleClick 中去处理 SelectedItem 时,则在当一个树节点下只有一个子节点时,双击该子节点会转到它的父节点上。

使用方法应当是这样。先在 TreeView 中定义如下资源(注意是 TreeView 的资源)

<TreeView.Resources>
    <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
        <EventSetter Event="MouseDoubleClick" Handler="OnItemMouseDoubleClick"/>
    </Style>
</TreeView.Resources>

然后,在 OnItemMouseDoubleClick 中使用 Sender 作为双击的节点即可。

private void OnItemMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    TreeViewItem item = (TreeViewItem) sender;
    //do it...
}

 

自定义节点样式

节点的 Header 是一个 Object 对象,因此,可以定义一个自定义控件,实例化后赋值给它就可以了。

自定义节点的 Tooltip

同自定义节点样式一样。

posted @ 2018-11-21 10:35  谢方  阅读(1243)  评论(0编辑  收藏  举报