2013-01-23 3 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에서 선택한 텍스트 값을 어떻게 얻을 수 있습니까?

업데이트 : 당신의 트리에서

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

답변

1

이 시도의 SelectedValuePath으로 지정된 속성 값을 반환합니다. 210. 그래서 트 리뷰에 SelectedValuePath을 설정했는지 확인하십시오!

+0

감사합니다. 그것의 작동하지 않는 – BinaryMee

+0

그래서 트리의 항목 TreeViewItem되지 않습니다. 그들이 뭐라고 할 수 있니? –

+0

그들이 무엇인지 알아 내기 위해 이와 같은 것을 시도하십시오. MessageBox.Show (this.tvi.SelectedItem.GetType(). ToString()); –

0

항목은 모든 유형이 될 수 있으며, SelectedValue :이 코드는 유용 할 수 있습니다 일반적으로

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