复制树视图选定的项 WPF

本文关键字:WPF 视图 复制 | 更新日期: 2023-09-27 17:55:15

我的WPF应用程序中有一个Treeview。我需要复制树视图中的元素。

private void copyCmdBinding_Executed(object sender, ExecutedRoutedEventArgs e)
{
    // Set text to clip board 
    TreeView tvi = (TreeView)sender;
    Clipboard.SetText(tvi.SelectedValue.ToString());
}

但是在这里,tvi.SelectedValue不会返回我在树视图中选择的文本。如何获取我在treeview中选择的文本值。

更新:

<TreeView Grid.Column="0" Grid.Row="0"  
          HorizontalAlignment="Stretch" Name="treeView1" 
          SelectedItemChanged="treeView1_SelectedItemChanged">
    <TreeView.CommandBindings>
        <CommandBinding Command="ApplicationCommands.Copy" 
                        Executed="copyCmdBinding_Executed" 
                        CanExecute="copyCmdBinding_CanExecute"/>
    </TreeView.CommandBindings>
    //Tree elements
</TreeView>

复制树视图选定的项 WPF

试试这个:

((TreeViewItem)tvi.SelectedItem).Header.ToString())

通常,此代码可能很有用:

((T1)tvi.SelectedItem).P.ToString()) 
// T1: type of property that is binded, 
// P: proper method or property that hold the string content

树中的项可以是任何类型的,SelectedValue返回由SelectedItem SelectedValuePath指定的属性的值。因此,请确保您已在树视图中设置了SelectedValuePath