【问题标题】:Handling SelectedItemChanged TreeView处理 SelectedItemChanged TreeView
【发布时间】:2015-09-02 15:50:26
【问题描述】:

我正在尝试获取TreeView 的当前选择。我想在我的MainWindow.xaml.cs 中处理这个问题,但TreeView 实际上是在同一个命名空间中另一个名为Window1 的寡妇中。我怎样才能做到这一点?这是我目前所拥有的:

WPF 代码

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

C# 处理程序

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

我遇到了错误

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

【问题讨论】:

    标签: c# wpf treeview


    【解决方案1】:

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

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

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

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

    记得在销毁 Window1 时分离此事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多