usercontrol中的自定义控件如何在WPF中找到usercontrol的父级?

时间:2013-07-17 12:13:22

标签: wpf controls parent

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

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

有没有办法说出以下内容?

this.Parent.Parent.SelectTab(1);  

2 个答案:

答案 0 :(得分:1)

直接从孩子那里更改父控件上的这些东西通常是不受欢迎的。

为什么不在你的孩子控制冒泡RoutedEvent中让这个事件让视觉树中的父母相应地处理事件和动作,因为它看起来合适。

一些有用的链接:

How to: Create a Custom Routed Event

Extensive - Routed Events Overview

样品:

一个演示,展示您的用例,MainWindow拥有UserControl,其中包含另一个UserControl,而MainWindow处理由大孩子提出的自定义事件{ {1}}。

Download Link

答案 1 :(得分:0)

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

首先获取父窗口 WPF User Control Parent

然后foreach为Usercontrol 然后Foreach再次找到Tabcontrol Find all controls in WPF Window by type