2013-03-23 351 views
5

我有這個主WPF窗口 Main WPF window如何將WPF頁面添加到tabcontrol?

這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); 
    } 

應用程序運行後I f同時選擇新標籤 Main WPf window after add tab3

Error after select tab 3

杆進洞這個例外,我需要知道如何WPF頁面添加到現有tabcontroll

回答

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; 
    } 
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); 
} 
相關問題