C# WPF-如何从控件内部调用mainwindow选项卡项
我的主窗口中有tabcontrol。我使用自定义控件创建的不同TBA(用于编辑、添加等)。我希望能够从控件内部处理其他选项卡,这样,例如,当我在某些表单上单击submit时,它会激活特定的其他选项卡 我试过了C# WPF-如何从控件内部调用mainwindow选项卡项,c#,wpf,tabcontrol,C#,Wpf,Tabcontrol,我的主窗口中有tabcontrol。我使用自定义控件创建的不同TBA(用于编辑、添加等)。我希望能够从控件内部处理其他选项卡,这样,例如,当我在某些表单上单击submit时,它会激活特定的其他选项卡 我试过了 BaseWindow n = new BaseWindow(); n.SearchTab.Visibility = System.Windows.Visibility.Hidden; 但很明显,这并不奏效 有什么想法吗? < P>我会考虑在这里修改你的体系结
BaseWindow n = new BaseWindow();
n.SearchTab.Visibility = System.Windows.Visibility.Hidden;
但很明显,这并不奏效
有什么想法吗? < P>我会考虑在这里修改你的体系结构。 一个选项是让您的自定义控件(UserControls?)在选项卡内部公开一个。然后,主窗口可以订阅路由事件(在主窗口级别)并处理应用程序导航
从设计的角度来看,这要干净得多,因为用户控件不需要了解其他控件,它们只会说“我按了这个按钮”,主窗口决定事件意味着显示其他窗口。如果你改变了标签,你就不会打破一切,因为这样可以降低标签之间的耦合。这看起来非常合理。我已经阅读了建议的材料和其他一些材料,但我还是遗漏了一些东西。当我申报时。在我的BaseWindow分部类(我的应用程序的主窗口)中单击事件,然后通过以下方式在我的用户控件的codebehind中调用它:SubmitSearch.Click+=新建RoutedEventHandler(编辑\单击);其中SubmitSearch是我的按钮的名称(在XAML中定义),Edit_Click是函数的名称,在分部类中声明:public event RoutedEventHandler Tap{//add/remove handler}void Edit_Click(object sender,RoutedEventArgs e){//code}我是否应该在用户控件中定义edit_click事件,然后尝试将其链接到主窗口中的editbutton_click事件?(我对WPF相当陌生,所以如果问题看起来很枯燥,请原谅)