处理SelectedItemChanged树视图

本文关键字:视图 SelectedItemChanged 处理 | 更新日期: 2023-09-27 18:10:44

我试图获得TreeView的当前选择。我想在我的MainWindow.xaml.cs中处理这个,但是TreeView实际上是在同一个命名空间中的另一个寡妇Window1中。我该怎么做呢?以下是目前为止的内容:

<<p> WPF代码/strong>
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:LogHunter"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
        xmlns:dxt="http://schemas.devexpress.com/winfx/2008/xaml/grid" x:Class="LogHunter.Window1"
        mc:Ignorable="d"
        xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
        dx:ThemeManager.Theme="DXStyle"
        Title="Window1" Height="750" Width="750">
    <Grid>
<TreeView x:Name="treeView" HorizontalAlignment="Left" VerticalAlignment="Top" Width="300" Height="Auto" SelectedItemChanged="clientChanged"/>

    </Grid>
</Window>
<<p> c#处理器/strong>
public void clientChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            System.Diagnostics.Debug.WriteLine(e.OriginalSource);
        }

错误我得到

"Window1"不包含'clientChanged'的定义,没有扩展名方法"clientChanged"接受类型为"Window1"的第一个参数可以找到(您是否缺少using指令或程序集?参考?)

处理SelectedItemChanged树视图

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

1)你可以使用MVVM并在你的Windows之间共享你的视图模型。

2)你需要一些快速的东西:我假设你正在从主窗口创建一个Window1的实例,你可以在主窗口中做这样的事情:

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