Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理SelectedItemChanged树视图_C#_Wpf_Treeview - Fatal编程技术网

C# 处理SelectedItemChanged树视图

C# 处理SelectedItemChanged树视图,c#,wpf,treeview,C#,Wpf,Treeview,我正在尝试获取当前选定的树视图。我想在MainWindow.xaml.cs中处理这个问题,但TreeView实际上位于同一命名空间中另一个名为Window1的窗口中。我该怎么做?以下是我目前掌握的情况: WPF代码 C处理器 我犯了一个错误 “窗口1” 不包含“clientChanged”的定义且没有扩展名 方法“clientChanged”接受类型为“Window1”的第一个参数 无法找到您是否缺少using指令或程序集 推荐人 您需要一种在两个窗口之间共享SelectedItem的方法: 1

我正在尝试获取当前选定的树视图。我想在MainWindow.xaml.cs中处理这个问题,但TreeView实际上位于同一命名空间中另一个名为Window1的窗口中。我该怎么做?以下是我目前掌握的情况:

WPF代码

C处理器

我犯了一个错误

“窗口1” 不包含“clientChanged”的定义且没有扩展名 方法“clientChanged”接受类型为“Window1”的第一个参数 无法找到您是否缺少using指令或程序集 推荐人


您需要一种在两个窗口之间共享SelectedItem的方法:

1您可以使用MVVM并在Windows之间共享您的viewmodel

2您需要一些快速的操作:我假设您正在从主窗口创建Window1的实例,您可以在主窗口中执行以下操作:

  Window1 w1 = new Window1();

  w1.treeView.SelectedItemChanged += new RoutedPropertyChangedEventHandler<object>(treeView_SelectedItemChanged);

  w1.Show();
在销毁Window1时,请记住分离此事件

public void clientChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            System.Diagnostics.Debug.WriteLine(e.OriginalSource);
        }
  Window1 w1 = new Window1();

  w1.treeView.SelectedItemChanged += new RoutedPropertyChangedEventHandler<object>(treeView_SelectedItemChanged);

  w1.Show();