我有一个用户控件中使用的自定义控件,此用户控件托管在MainUsercontrol中。
现在,当自定义控件中发生事件时,MainUsercontrol中的选定选项卡应该更改。
有没有办法说出以下内容?
this.Parent.Parent.SelectTab(1);
答案 0 :(得分:1)
直接从孩子那里更改父控件上的这些东西通常是不受欢迎的。
为什么不在你的孩子控制冒泡RoutedEvent
中让这个事件让视觉树中的父母相应地处理事件和动作,因为它看起来合适。
一些有用的链接:
How to: Create a Custom Routed Event
Extensive - Routed Events Overview
样品:
一个演示,展示您的用例,MainWindow
拥有UserControl
,其中包含另一个UserControl
,而MainWindow
处理由大孩子提出的自定义事件{ {1}}。
答案 1 :(得分:0)
感谢所有答案......我找到了以下解决方案,但我会看到上面提到的解决方案....
首先获取父窗口 WPF User Control Parent
然后foreach为Usercontrol 然后Foreach再次找到Tabcontrol Find all controls in WPF Window by type