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
同自定义节点样式一样。