2013-01-23 70 views
0

我在我的WPF應用程序中有一個Treeview。我需要複製我的樹形視圖中的元素。複製Treeview選擇項目WPF

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中選擇的文本值。

更新:一般

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

此代碼可能是有用的:

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

回答

1

試試這個

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

感謝您的關注。它不工作 – BinaryMee

+0

所以你的樹中的項目不是TreeViewItem。你能說他們是什麼? –

+0

嘗試這樣的事情來找出它們是什麼。 MessageBox.Show(this.tvi.SelectedItem.GetType()。ToString()); –

0

樹中的項目可以是任何類型的,和SelectedValue返回的SelectedValuePath指定的財產的價值210。 因此,請確保您已在樹狀視圖中設置了SelectedValuePath