C# 从另一个用户控件添加TabItem

C# 从另一个用户控件添加TabItem,c#,wpf,class,C#,Wpf,Class,我被困在一件非常基本的事情上 shell窗口上有两个用户控件。第一个基本上有一个功能区控件。第二个控件基本上有一个选项卡控件 单击功能区上的按钮时,如何添加新的选项卡项?包括Shell在内的所有视图都共享相同的命名空间 在Ribbon.xaml中 睡个好觉后,以下是答案: Shell MainFrm = (Shell)App.Current.MainWindow; MainFrm.WorkSpaceControl.AddDataTab("Something"); 请看这里: <UserC

我被困在一件非常基本的事情上

shell窗口上有两个用户控件。第一个基本上有一个功能区控件。第二个控件基本上有一个选项卡控件

单击功能区上的按钮时,如何添加新的选项卡项?包括Shell在内的所有视图都共享相同的命名空间

在Ribbon.xaml中


睡个好觉后,以下是答案:

Shell MainFrm = (Shell)App.Current.MainWindow;
MainFrm.WorkSpaceControl.AddDataTab("Something");
请看这里:
<UserControl x:Name="WorkSpaceControl" ... >
<RibbonWindow  x:Name="ShellWindow" ... >
    ...
    <Views:RibbonRegion x:Name="RibbonControl" />
    <Views:WorkspaceRegion  x:Name="WorkSpaceControl" />
    ...
</RibbonWindow>
namespace Application.Views
{
  public partial class RibbonControl: UserControl
   {

    private void Button_Click(object sender, RoutedEventArgs e)
    {

        //This throws the error that name is not available in current context.
        WorkSpaceControl.AddDataTab("Hede");   


        //This doesn't throw error. But I think because the tab control
        //has already initialized, it doesn't add the tab neither.
        TabRegion su = new TabRegion();
        su.AddDataTab("Hede");

    }
  }
}
Shell MainFrm = (Shell)App.Current.MainWindow;
MainFrm.WorkSpaceControl.AddDataTab("Something");