2015-09-28 3 views
0

Я хочу закрыть и скрыть MessageDialog в Windows Phone 8.1 RT. Я видел несколько решений от вызова .Cancel() и .Close(), но никто не работает на Windows Phone 8.1 RT; они действительны только для Windows 8 RT.Закрытие MessageDialog программно в WP 8.1 RT

Как я могу закрыть MessageDialog из кода, не взаимодействуя с ним?

+0

Вы должны попробовать этот ответ: http://stackoverflow.com/questions/12698666/how-to-close-message-dialog-programmatically – Meneses

+0

Пытался что; он работает только на Windows, а не на Windows Phone. – Flipper

ответ

3

Использовать 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(); 
} 
+1

Это полезно и для приложений UWP. – holmis83

Смежные вопросы