Закрытие MessageDialog программно в WP 8.1 RT
Я хочу закрыть и спрятать MessageDialog
в Windows Phone 8.1 RT. Я видел несколько решений от звонка .Cancel()
а также .Close()
, но ни один не работает на Windows Phone 8.1 RT; они действительны только для Windows 8 RT.
Как я могу закрыть MessageDialog
из кода без взаимодействия с ним?
1 ответ
Использование ContentDialog
вместо MessageDialog
, ContentDialog имеет больше параметров настройки. Вы можете создать ContentDialog, который выглядит как MessageDialog без каких-либо проблем, и скрыть его от кода.
Образец:
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();
}