WPF: TreeView控件 获取选中的文本节点内容

同大家一样,在使用TreeView控件时,遇到了这个问题。上网也查了一些资料,但都不是太有效。经摸索问题解决了。过程说明如下:

TreeView控件的数据采取模板,采用MVVM模式,直接绑定给数据源。如下:

<TreeView Name="tvDepartment" Margin="5,4" Background="{StaticResource PanelContentBgReflact}" BorderThickness="2" BorderBrush="{StaticResource Brush_HeaderBackground}" ItemsSource="{Binding Path=TreeItemsSource}" TreeViewItem.Selected="tvDepartment_Selected"> <TreeView.ItemTemplate> <HierarchicalDataTemplate DataType="{x:Type local:TreeViewDataModel}" ItemsSource="{Binding Children}"> <StackPanel Orientation="Horizontal" > <Image VerticalAlignment="Center" Source="{Binding Path=Icon}"></Image> <TextBlock Text="{Binding Path=Name}" ToolTip="{Binding Path=ToolTip}" Tag="{Binding Children}" FontSize="14" Foreground="Black"></TextBlock> </StackPanel> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView>

后台Selected事件如下:

private void tvDepartment_Selected(object sender, RoutedEventArgs e)
        {
            TreeViewItem tvi = e.OriginalSource as TreeViewItem;
            var model = tvi.Header as TreeViewDataModel; //树节点的数据模型
            if (model != null)
                DdbTree.Content = model.Name; //此句最为关键,获取选中节点的内容     
        }
         如上,问题即搞定。

经验分享 程序员 微信小程序 职场和发展