我在主窗口中有tabcontrol。我用自定义控件创建的不同tbas(用于编辑,添加等)。我希望能够从控件内部处理其他选项卡,因此,例如,当我单击某些表单中的提交时,它会激活特定的其他选项卡。
我试过
BaseWindow n = new BaseWindow();
n.SearchTab.Visibility = System.Windows.Visibility.Hidden;
显然,这并不能解决问题。
有什么想法吗?
答案 0 :(得分:2)
我会考虑在这里修改你的架构。
一个选项是让标签内的自定义控件(UserControls?)显示Routed Event。然后,您的主窗口可以订阅路由事件(在主窗口级别)并处理应用程序导航。
从设计的角度来看,这更清晰,因为用户控件不需要知道其他控件,他们只是说“我按下这个按钮”,主窗口决定该事件意味着显示另一个窗口。如果您更改了标签,则不会破坏所有内容,因为这样可以使标签之间的耦合更低。