【发布时间】:2019-03-02 04:55:41
【问题描述】:
如何在 MVVM 视图中正确使用 DisplayAlert()?
我有一些屏幕和 ViewModel。
在 ViewModel 中我定义了一些 Actions:
class PageViewModel : INotifyPropertyChanged
{
public Action DisplayDataSavedPromt;
public event PropertyChangedEventHandler PropertyChanged = delegate { };
public ICommand SaveCommand { protected set; get; }
public PageViewModel()
{
SaveCommand = new Command(OnSubmit);
}
public void OnSubmit()
{
DisplayDataSavedPromt();
}
}
然后我从 View Page.cs 调用它:
public Page ()
{
var vm = new PageViewModel();
this.BindingContext = vm;
vm.DisplayDataSavedPromt += () => DisplayAlert("Success", "Your data are saved", "OK");
InitializeComponent ();
}
它工作正常,但我不明白如何将一些操作绑定到此警报按钮? 例如。当用户在 Alert 中点击 OK 时,打开新页面。
我应该以某种方式在 ViewModel 内还是在 View 内进行?
【问题讨论】:
标签: c# xamarin mvvm xamarin.forms