UWP内容对话框和内容框架

本文关键字:框架 对话框 UWP | 更新日期: 2023-09-27 18:02:16

我的车架有点小问题。

我写了一个静态方法,它画了一个内容对话框里面有一个文本框,如果文本框不是空的,它应该打开page_2 .

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

但是我的项目在主页上有一个汉堡包菜单,它应该在所有的页面上。如果我使用ContentFrame。导航它就消失了

下面是我的静态内容对话框:

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

如果您需要更多类似窗格的代码,您可以请求它。

UWP内容对话框和内容框架

如果你想让一个布局页面在所有页面中都是活动的,你需要在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委托仅用于控制布局上的项目(例如:按钮,…)。