
正文
[WPF系列]-TreeView的常用事项
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
引言
项目经常会用Treeview来组织一些具有层级结构的数据,本节就将项目使用Treeview常见的问题作一个总结。
DataBinding数据绑定DataTemplate自定义
<HierarchicalDataTemplate DataType="{x:Type viewModels:FieldViewModel}"
ItemsSource="{Binding SubViewModels}"> <StackPanel Orientation="Horizontal">
<TextBlock Text="F:" Style="{StaticResource IconTextStyle}"
Background="LightCoral"/>
<TextBlock Text="{Binding CurrentEntity.Value.Name}" Focusable="True">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="New Well" Command="{Binding AddCommand}"
CommandParameter="{Binding Path=CurrentEntity.Value}" />
<MenuItem Header="Delete" Command="{Binding DeleteCommand}"
CommandParameter="{Binding Path=CurrentEntity.Value}" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
Style自定义
Events顺序
<HierarchicalDataTemplate DataType="{x:Type viewModels:FieldViewModel}"
ItemsSource="{Binding SubViewModels}"> <StackPanel Orientation="Horizontal">
<TextBlock Text="F:" Style="{StaticResource IconTextStyle}"
Background="LightCoral"/>
<TextBlock Text="{Binding CurrentEntity.Value.Name}" Focusable="True">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="New Well" Command="{Binding AddCommand}"
CommandParameter="{Binding Path=CurrentEntity.Value}" />
<MenuItem Header="Delete" Command="{Binding DeleteCommand}"
CommandParameter="{Binding Path=CurrentEntity.Value}" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
SelectedItemChanged 发生在TreeView向新selectedItem聚焦(set focus on its new selected item).
一句话: selectedItemChanged –>set foucs on the new selected item.
源自:https://social.msdn.microsoft.com/Forums/en-US/e41ec0e1-f63e-40a3-bfea-1d61d0cfcf1e/set-focus-on-textbox-after-click-on-treeviewselecteditemchanged?forum=wpf&prof=required
参考
[WPF系列]-数据邦定之DataTemplate 对分层数据的支持







