如何将WPF页面添加到tabcontrol?

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

和这个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); } 

应用程序运行后,我在选择新选项卡时遇到此exception 添加tab3后的主WPf窗口

选择选项卡3后出错

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

如果要添加新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; } 

您可以将用户控件添加到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); }