0

我正在开发一个桌面应用程序。它有一个dropdown menu. 单击菜单项时,如果以前未打开过,则会打开dropdown一个新菜单项。tab有一个tab为一个单一的dropdown menu item。考虑到他们将要做的工作,我想做的是在单独的 s 中打开一个window,pageuser control(我不确定应该使用哪个) 。tab

我的部分XAML

<dxd:DockLayoutManager DockItemClosing="DockLayoutManager_DockItemClosing_1">
    <dxd:LayoutGroup>
        <dxd:TabbedGroup Name="tabbedGroup">                        
        </dxd:TabbedGroup>
    </dxd:LayoutGroup>
</dxd:DockLayoutManager>

和部分CS

private void addPanel(string caption)
{
    var contains = false;
    var layoutPanel = new LayoutPanel() { Caption = caption };

    BaseLayoutItem[] baseLayoutItem = tabbedGroup.GetItems();

    foreach (var layoutItem in baseLayoutItem)
    {
        if (layoutItem.Caption.Equals(layoutPanel.Caption))
        {
            contains = true;
        }
    }

    if (!contains)
    {
        tabbedGroup.Add(layoutPanel);
    }
}

正如我提到的,我想在每个单独打开的文件中附加一个window,pageuser control(我不确定应该使用哪个) 。LayouPanel

4

1 回答 1

0

好的,这很简单:

layoutPanel.Content = new UserControl1();

我还有一个动态创建所需选项卡的技巧:

layoutPanel.Content = Activator.CreateInstance(Type.GetType(Constants.s_tabs[caption]));

我希望它不会导致任何性能问题。

于 2013-04-30T07:27:20.563 回答