Закрытие 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();
}
Другие вопросы по тегам