0

我有一个在用户控件中使用的自定义控件,并且此用户控件托管在 MainUsercontrol 中。

现在,当自定义控件中发生事件时,MainUsercontrol 中的选定选项卡应该更改。

有没有办法像下面这样说?

this.Parent.Parent.SelectTab(1);  

?

4

2 回答 2

1

直接从孩子更改父控件上的此类内容通常是不受欢迎的。

你为什么不在你的子控件中让这个事件冒泡RoutedEvent,让视觉树中的父级处理事件并相应地处理它认为合适的动作。

一些有用的链接:

如何:创建自定义路由事件

广泛 - 路由事件概述

样本:

一个演示,显示您的用例,其中MainWindow持有一个在UserControl其中包含另一个UserControl并处理由MainWindow孙子引发的自定义事件UserControl

下载链接

于 2013-07-17T13:32:27.513 回答
0

感谢所有答案...我找到了以下解决方案,但我也会查看上面介绍的解决方案....

首先获取父窗口 WPF用户控件Parent

然后foreach for the Usercontrol 然后Foreach 再次找到Tabcontrol 按类型查找WPF Window中的所有控件

于 2013-07-18T06:46:51.340 回答