0

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

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

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

Ribbon.xaml 中

<UserControl x:Name="RibbonControl" ... >

WorkSpace.xaml中

<UserControl x:Name="WorkSpaceControl" ... >

Shell.xaml 中

<RibbonWindow  x:Name="ShellWindow" ... >
    ...
    <Views:RibbonRegion x:Name="RibbonControl" />
    <Views:WorkspaceRegion  x:Name="WorkSpaceControl" />
    ...
</RibbonWindow>

Ribbon.xaml.cs 中

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");

    }
  }
}
4

1 回答 1

0

睡个好觉后,答案如下:

Shell MainFrm = (Shell)App.Current.MainWindow;
MainFrm.WorkSpaceControl.AddDataTab("Something");
于 2012-06-09T19:51:32.753 回答