首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理SelectedItemChanged TreeView

处理SelectedItemChanged TreeView
EN

Stack Overflow用户
提问于 2015-09-02 07:12:59
回答 1查看 54关注 0票数 0

我正在尝试获取当前选择的TreeView。我想在我的MainWindow.xaml.cs中处理这个问题,但是TreeView实际上在同一个名称空间中另一个名为Window1的寡妇中。我该怎么做?到目前为止,我的情况如下:

WPF代码

代码语言:javascript
复制
<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# Handler

代码语言:javascript
复制
public void clientChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            System.Diagnostics.Debug.WriteLine(e.OriginalSource);
        }

错误我得到了

'Window1‘不包含'clientChanged’的定义,也找不到接受'Window1‘类型的第一个参数的扩展方法'clientChanged’(您缺少使用指令还是程序集引用?)

EN

回答 1

Stack Overflow用户

发布于 2015-09-02 07:50:26

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

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

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

代码语言:javascript
复制
  Window1 w1 = new Window1();

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

  w1.Show();

当您破坏Window1时,请记住分离此事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32346745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档