2013-03-23 25 views
5

Bu ana wpf penceresini Main WPF windowWPF sayfası tabcontrol'e nasıl eklenir?

ve bu WPF sayfasını

ben ana penceresinde

yılında TabControl için bu sayfayı eklemem gerekiyor WPF page

Bu benim OnRender yöntemi

edilir sahip
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); 
    } 

Uygulama çalıştıktan sonra I f Yeni sekmesi

Error after select tab 3

Main WPf window after add tab3

seçerken ben Sen TabControl için kullanıcı denetimlerini ekleyebilir mevcut tabcontroll

cevap

8

Bir UserControl aksine, yeni Page eklemek istiyorsanız, yeni bir Frame nesne oluşturmak ve orada sayfayı yerleştirebilirsiniz.

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

için wpf sayfa eklemek nasıl bilmek gerekir bu durum aced. Bu yüzden yeni öğeler ekleyin ve kullanıcı kontrolünü seçin ve istediğiniz şeyi yapın (sayfada sahip olduğunuz gibi). Ardından, bu kullanıcı denetiminin bir örneğini TabControl'a ekleyin.

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