我有一个ContentDialog,当我在“ MyPage”界面中单击一个按钮时,将显示该ContentDialog包含一个按钮“ Connexion”,让我可以导航到“ ConnexionNvPage”页面
这是我的代码:

MyPage.xaml.cs:

private async void WithoutCnx_Tapped(object sender, TappedRoutedEventArgs e)
        {
                await new MyContentDialog().ShowAsync();

        }


MyContentDialog.xaml.cs:

 private void ConxBtn_Click(object sender, RoutedEventArgs e)
        {
            this.Hide();
           //this.Frame.Navigate(typeof(ConnexionNvPage), null);
        }


MyContentDialog.xaml:

<ContentDialog
    x:Class="Project.MyContentDialog"
    .......
    >
    <Grid>
       <Button Content="Connexion" x:Name="ConxBtn"   Click="ConxBtn_Click"  />
    </Grid>
</MyContentDialog>


但我仍然无法从ContentDialog导航到“ ConnexionNvPage”
感谢帮助

最佳答案

有两种方法可以做到这一点:

获取窗口框架而不是使用this.Frame

(Window.Current.Content as Frame)?.Navigate(typeof(ConnexionNvPage), null);


或者获取ContentDialog结果,而不是使用click事件处理程序(对于仅定义主/辅助按钮并使用它们的情况很有用)

var result = await new MyContentDialog().ShowAsync();

// primary button was clicked
if (result == ContentDialogResult.Primary)
{
    this.Frame.Navigate(typeof(ConnexionNvPage), null);
}

关于c# - 从ContentDialog导航到页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35914800/

10-10 03:45