我想在Windows Phone 8.1 RT中关闭并隐藏MessageDialog
。我通过调用.Cancel()
和.Close()
看到了多个解决方案,但是在Windows Phone 8.1 RT上都没有。它们仅对Windows 8 RT有效。
如何在不与代码交互的情况下从代码中关闭MessageDialog
?
答案 0 :(得分:3)
使用ContentDialog
代替MessageDialog
。 ContentDialog有更多自定义选项。您可以创建看起来像MessageDialog而没有任何问题的ContentDialog,并将其隐藏在代码中。
样品:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
ShowContentDialog("cos");
await HideContentDialog();
}
ContentDialog _contentDialog;
private void ShowContentDialog(string s)
{
_contentDialog = new ContentDialog();
_contentDialog.Content = s;
_contentDialog.IsPrimaryButtonEnabled = true;
_contentDialog.PrimaryButtonText = "OK";
_contentDialog.Title = "title";
_contentDialog.ShowAsync();
}
private async Task HideContentDialog()
{
await Task.Delay(5000);
_contentDialog.Hide();
}