如何将WPF页面添加到tabcontrol?

时间:2013-03-23 16:42:18

标签: c# wpf xaml

我有这个主要的wpf窗口 Main WPF window

和这个WPF页面

WPF page

我需要将此页面添加到主窗口中的tabcontrol

这是我的OnRender方法

   protected override void OnRender(DrawingContext drawingContext)
    {
        if (ISFirstRender)
        {
            TabItem tabitem = new TabItem();
            tabitem.Header = "Tab 3";
            pan1.Items.Add(tabitem);
            Page1 page1 = new Page1();
            tabitem.Content = new Page1();

            ISFirstRender = false;
        }

        base.OnRender(drawingContext);
    }

应用程序运行后,我在选择新选项卡时遇到此异常 Main WPf window after add tab3

Error after select tab 3

我需要知道如何将wpf页面添加到现有的tabcontroll

2 个答案:

答案 0 :(得分:8)

如果您想添加新的Page,而不是UserControl,则可以创建新的Frame对象并将页面放在那里。

    if (ISFirstRender)
    {
        TabItem tabitem = new TabItem();
        tabitem.Header = "Tab 3";
        Frame tabFrame = new Frame();
        Page1 page1 = new Page1();
        tabFrame.Content = page1;
        tabitem.Content = tabFrame;
        pan1.Items.Add(tabitem);

        ISFirstRender = false;
    }

答案 1 :(得分:3)

您可以将用户控件添加到TabControl。因此,请转到添加新项目并选择用户控件并制作所需内容(例如页面中的内容)。然后将该用户控件的实例添加到TabControl

protected override void OnRender(DrawingContext drawingContext)
{
    if (ISFirstRender)
    {
        TabItem tabitem = new TabItem();
        tabitem.Header = "Tab 3";
        pan1.Items.Add(tabitem);

        MyUserControl userControl = new MyUserControl();
        tabitem.Content = userControl;

        ISFirstRender = false;
    }

    base.OnRender(drawingContext);
}