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