2013-03-23 4 views
5

나는이 주 WPF 창 Main WPF windowtabcontrol에 WPF 페이지를 추가하는 방법은 무엇입니까?

이 WPF 페이지를

내가 메인 창

에있는 TabControl이 페이지를 추가 할 필요가 WPF page

이 내의 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 새 탭을

Error after select tab 3

Main WPf window after add tab3

을 선택하는 동안 당신은 TabControl에 사용자 컨트롤을 추가 할 수 있습니다 기존 tabcontroll

답변

8

당신이 UserControl 반대로, 새로운 Page를 추가하려면, 새 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

에 WPF 페이지를 추가하는 방법을 알아야이 예외를 제압. 따라서 새 항목을 추가하고 사용자 정의 컨트롤을 선택하고 원하는 것을 만들 수 있습니다 (페이지에있는 것과 같은). 그런 다음 해당 사용자 정의 컨트롤의 인스턴스를 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); 
} 
관련 문제