我有这个主要的wpf窗口
和这个WPF页面
我需要将此页面添加到主窗口中的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);
}
应用程序运行后,我在选择新选项卡时遇到此异常
我需要知道如何将wpf页面添加到现有的tabcontroll
答案 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);
}