2016-08-14 3 views
0

내 프레임에 약간의 문제가 있습니다.UWP 콘텐츠 대화 상자 및 콘텐츠 프레임

텍스트 상자가 비어 있지 않으면 텍스트 상자가있는 내용 대화 상자를 그립니다. 텍스트 상자가 비어 있지 않으면 page_2이 열립니다. 현재 내가 "ContentFrame.Navigate(typeof(Page_2), "operation");"을 사용하고

,

하지만 내 프로젝트는 mainpage에 창 Hamburguer 메뉴가 있으며 모든 페이지에 있어야합니다. ContentFrame.Navigate를 사용하면 사라집니다. 당신이 창 같은 더 많은 코드가 필요하면, 당신은 그것을 위해

public static async void D_NewProject(double Widthmax) 
    { 
     ContentDialog D_NewProject = new ContentDialog() 
     { 
      Title = "New Project", 
      MaxWidth = Widthmax, // this.ActualWidth, 
     }; 

     StackPanel D_panel = new StackPanel(); 


     TextBox TextBox_D1 = new TextBox() 
     { 
      PlaceholderText = "Name:", 
      TextWrapping = TextWrapping.Wrap, 
     }; 

     D_panel.Children.Add(TextBox_D1); 

     D_NewProject.Content = D_panel; 


     D_NewProject.PrimaryButtonText = "OK"; 
     D_NewProject.PrimaryButtonClick += delegate 
     { 
      if (TextBox_D1.Text != "") 
      { 
      /**/ 
       Frame ContentFrame = Window.Current.Content as Frame; 
       ContentFrame.Navigate(typeof(Page_2), "operation"); 
      /**/ 
      } 
     }; 
     await D_NewProject.ShowAsync(); 
    } 

을 요청할 수 있습니다 : 여기

내 정적 콘텐츠 대화입니다. 도움을 주시면 감사하겠습니다.

답변

0

모든 페이지에서 활성화 될 레이아웃 페이지를 원할 경우 App.xaml.cs에서이 레이아웃의 현재 페이지를로드하는 방법을 만들어야합니다. 난 당신에게 내가 나 자신을 사용하는이 방법을 제안 할 수 있습니다 :

public static void LoadLayout(Type pageType) 
{ 
    // just ensure that the window is active 
    RootFrame = new _Layout(); 
    RootFrame.ContentFrame.Navigate(pageType, null); 
    RootFrame.ContentFrame.Navigated += ContentFrame_Navigated; 
    ContentFrame_Navigated(null, null); 
    Window.Current.Content = RootFrame; 
} 

ContentFrame_Navigated 위임 단지 레이아웃에 항목을 제어하는 ​​데 사용됩니다 (예 : 버튼, ...)를.

+0

해결책을 구현하는 데 문제가 있습니다. "형식 또는 네임 스페이스 이름"_Layout "을 찾을 수 없습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?)". – Julius

+0

@Julius'_Layout'은 모든 페이지에서 사용하고자하는 페이지입니다. 이름을'_Layout'으로 지정했습니다. – Hamed