从ContentDialog导航到页面

时间:2016-03-10 11:12:10

标签: c# xaml win-universal-app

当我点击“MyPage”界面中的按钮时,我会显示一个ContentDialog,这个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” 谢谢你的帮助

1 个答案:

答案 0 :(得分:3)

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

获取Window框架而不是使用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);
}