0

私は非常に基本的なことで立ち往生しています。

シェル ウィンドウには 2 つのユーザー コントロールがあります。最初のものは基本的にリボンコントロールを持っています。2 番目のコントロールには、基本的にタブ コントロールがあります。

リボンのボタンがクリックされたときに新しいタブ項目を追加するにはどうすればよいですか? 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 に答える