UWP内容对话框和内容框架

时间:2016-08-14 04:11:15

标签: c# uwp frame

我的相框有点问题。

我编写了一个静态方法,它在内部绘制了一个带有文本框的内容对话框,如果文本框不是空的,则应该打开page_2

  

目前我正在使用"ContentFrame.Navigate(typeof(Page_2), "operation");"

     

但是我的项目在主页上有一个窗格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();
    }

如果您需要更多代码,例如窗格,您可以要求它。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分: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委托仅用于控制布局上的项目(例如:按钮,...)。