Wpf 从Treeview获取所选项目

Wpf 从Treeview获取所选项目,wpf,xaml,Wpf,Xaml,我有一个树状视图,想从中获取所选项目 树视图本身不是手动填充的,而是从代码中的数据填充的。因为它是以这种方式填充的,所以我不确定如何从中获取信息 以下是XAML: <TreeView Name="trvFamilies" HorizontalAlignment="Left" Margin="10,10,3,3" Width="340"> <TreeView.Resources> <HierarchicalDat

我有一个树状视图,想从中获取所选项目

树视图本身不是手动填充的,而是从代码中的数据填充的。因为它是以这种方式填充的,所以我不确定如何从中获取信息

以下是XAML:

<TreeView Name="trvFamilies" HorizontalAlignment="Left" Margin="10,10,3,3" Width="340">
            <TreeView.Resources>
                <HierarchicalDataTemplate DataType="{x:Type self:Scene}" ItemsSource="{Binding Characters}">
                    <StackPanel Orientation="Horizontal">
                        <StackPanel.ContextMenu>
                            <ContextMenu>
                                <MenuItem Header="New" Click="MenuItem_Click"></MenuItem>
                                <MenuItem Header="Remove" Click="MenuItem_Click_1"></MenuItem>
                            </ContextMenu>
                        </StackPanel.ContextMenu>
                        <Image Source="{StaticResource ImageSceneRegular}" Margin="0,0,5,0" Width="64" Height="64"/>
                        <TextBlock Text="{Binding Name}" />
                        <TextBlock Text=" [" Foreground="Blue" />
                        <TextBlock Text="{Binding Characters.Count}" Foreground="Blue" />
                        <TextBlock Text="]" Foreground="Blue" />
                    </StackPanel>
                </HierarchicalDataTemplate>
                <DataTemplate DataType="{x:Type self:Character}">

                    <Border BorderThickness="1" Background="AliceBlue" CornerRadius="8,8,3,3">
                        <StackPanel Orientation="Horizontal" Margin="4" Background="White">
                        <Image Source="{Binding Img}" Margin="0,0,5,0" Width="64" Height="64" />
                            <TextBlock Text="{Binding Name}" />
                            <TextBlock Text=" (" Foreground="Green" />
                            <TextBlock Text="{Binding Age}" Foreground="Green" />
                            <TextBlock Text=" years)" Foreground="Green" />
                        </StackPanel>
                    </Border>

                </DataTemplate>
            </TreeView.Resources>
        </TreeView>

它由来自ObservableCollection的数据填充,ObservableCollection在代码中填充,然后分配给treeview的ItemSource(它工作正常)

假设我有一个TextBlock,它位于TreeView之外,想要用所选字符的信息填充它(这是填充TreeView下拉部分的类型),我不知道怎么做,不管是使用XAML还是代码隐藏


如果您能提供帮助,我们将不胜感激。

您不能访问trvFamilies.SelectedItem吗?您不能访问trvFamilies.SelectedItem吗?