从Treeview获取所选项目

时间:2017-02-28 17:01:54

标签: wpf xaml

我有一个TreeView,想要从中获取所选项目。

Treeview本身不是手动填充,而是来自代码中的数据。由于它以这种方式填充,我不确定如何从中获取信息。

这是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的数据填充,该数据填充在代码中,然后分配给树视图的ItemSource(并且工作正常)。

所以,假设我有一个位于TreeView外部的TextBlock,并希望使用所选角色的信息填充它(这是填充TreeView下拉部分的类型),我不知道该怎么做,无论是仅使用XAML还是后面的代码。

非常感谢任何有关如何做到这一点的帮助。

0 个答案:

没有答案