2016-10-10 2 views
1

Я хочу попробовать диалог отображения сообщений в файле .cs, который находится в проекте pcl. Я хочу вызвать его метод из моего view.xaml.cs для отображения предупреждения.как показать сообщение dailogue в файле класса проекта PCL

я пытался использовать

var dialog = new MessageDialog(e.Message, e.GetType().ToString()); 
     dialog.Commands.Add(new UICommand("Ok", null)); 

     await dialog.ShowDialogSafely(); 

но требуют windows.UI.Popups имен, которые не доступны в файле класса поликапролактона project.I думаю его потому, что он разделяет все платформы и что пространство имен для окон only.then как я могу достичь this.please помощи. Заранее спасибо

ответ

3

Вы можете использовать плагин User dialogs для этого. Он предоставляет кросс-платформенные диалоги. https://github.com/aritchie/userdialogs. И тогда это просто один лайнер:

await UserDialogs.Instance.AlertAsync(e.Message, e.GetType().ToString()); 

Вы можете установить его с помощью NuGet: https://www.nuget.org/packages/Acr.UserDialogs/. Пожалуйста, прочитайте github readme о том, как правильно настроить его.

-1

Это достижимо без сторонних плагинов. Xamarin.Forms имеет это реализовано: https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/pop-ups/#Displaying_an_Alert

Простой информативный MessageBox следующим образом:

DisplayAlert ("Alert", "You have been alerted", "OK"); 

окно с более чем 1 вариант, как так:

var answer = await DisplayAlert ("Question?", "Would you like to play a game", "Yes", "No"); 
0

Замена Acr.UserDialogs, который работал меня:

var result = await Application.Current.MainPage.DisplayAlert(
     title, 
     message, 
     buttonConfirmText, 
     buttonCancelText); 

Хорошая сторона - это потому, что вам не нужна ссылка плагина в проекте либо «UserDialogs.Init (this)»; в вашем классе MainActivity. Одним из возможных вариантов также с Prism, но вам нужно установить его: https://prismlibrary.readthedocs.io/en/latest/Xamarin-Forms/4-Page-Dialog-Service/

Источник: https://forums.xamarin.com/discussion/48009/pop-display-alert-message-from-viewmodel

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