Copy TreeView Node

后端 未结 3 2107
离开以前
离开以前 2021-01-19 15:21

I am trying to copy the selected treeview node to the clip board so I can paste it in notepad. Here is my code but it doesn\'t work.

    TreeNode selNode = (         


        
3条回答
  •  自闭症患者
    2021-01-19 15:41

    XAML:

    
      
        
      
    
    

    C#:

    protected void ItemLoaded(object sender, EventArgs e)
    {
      if (sender is TreeViewItem)
      {
        TreeViewItem item = sender as TreeViewItem;
    
        if (item.CommandBindings.Count == 0)
        {
          CommandBinding copyCmdBinding = new CommandBinding();
          copyCmdBinding.Command = ApplicationCommands.Copy;
          copyCmdBinding.Executed += CopyCmdBinding_Executed;
          copyCmdBinding.CanExecute += CopyCmdBinding_CanExecute;
          item.CommandBindings.Add(copyCmdBinding);
        }
    }
    
    private void CopyCmdBinding_Executed(object sender, ExecutedRoutedEventArgs e)
    {
      if (sender is TreeViewItem)
        if ((sender as TreeViewItem).Header is MyClass)
          Clipboard.SetText(((sender as TreeViewItem).Header as MyClass).MyValue);
    }
    
    private void CopyCmdBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
    {
      e.CanExecute = false;
      if (sender is TreeViewItem)
        if ((sender as TreeViewItem).Header is MyClass)
          e.CanExecute = true;
    }
    

提交回复
热议问题