Как создать всплывающее окно оповещения из моей модели представления в Xamarin? - PullRequest
0 голосов
/ 25 октября 2018

Я разрабатываю свое приложение Xamarin с шаблоном MVVM.Я хочу показать пользователю предупреждение, когда пользователь нажимает кнопку.

Я объявляю свою ViewModel с помощью

class MainPageViewModel : BindableBase   {

К сожалению, я не могу получить доступ к объекту Pageиз ViewModel напрямую.Как мне лучше всего отобразить мое предупреждение?

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Чтобы отобразить Alert, введите код ниже в своем классе ViewModel

public class MainViewModel
{
    public ICommand ShowAlertCommand { get; set; }
    public MainViewModel()
    {
        ShowAlertCommand = new Command(get => MakeAlter());
    }
    void MakeAlter()
    {
        Application.Current.MainPage.DisplayAlert("Alert", "Hello", "Cancel", "ok");
    }
}

Установите Command на Button в xaml

<StackLayout>
<Button Text="Click for alert" Command="{Binding ShowAlertCommand}"
   HorizontalOptions="Center"
   VerticalOptions="CenterAndExpand" />
</StackLayout>

Установите BindingContext в кодепозади вашего файла xaml.Если вы xaml файл MainPage.xaml

public MainPage()
{
    InitializeComponent();
    BindingContext = new MainViewModel();

}
0 голосов
/ 26 октября 2018

Вы можете использовать Prism PageDialogService , который сохраняет ваши ViewModels очень чистыми и тестируемыми.

0 голосов
/ 25 октября 2018

Вы можете вызвать приведенный ниже код в модели представления, если вы используете обычный шаблон MVVM.

App.current.MainPage.DisplayAlert("","","");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...