复制Treeview选择的项目WPF

时间:2013-01-23 11:38:29

标签: c# wpf treeview

我的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>

2 个答案:

答案 0 :(得分:1)

试试这个:

((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

答案 1 :(得分:0)

树中的项目可以是任何类型,SelectedValue返回SelectedValuePath的{​​{1}}指定的属性的值。 因此,请确保在Treeview中设置了SelectedItem