ViewModel中的警报

时间:2017-06-09 20:49:28

标签: c# xamarin xamarin.android mvvmcross

我正在使用Acr.Dialogs,如下所示,以显示对话框。 但是,它似乎只支持一个OK按钮。但是,我想要CancelOK按钮。

ViewModel.cs

var alertConfig = new AlertConfig
{
   Message = "Are you sure?",
   OnOk = () => {
      NotifyUpdated();
    },
};
Mvx.Resolve<IUserDialogs>().Alert(alertConfig);

1 个答案:

答案 0 :(得分:2)

确认对话框默认为OK和Cancel。您可以改用Task<bool> IUserDialogs.ConfirmAsync(string message, string title = null, string okText = null, string cancelText = null, CancellationToken? cancellationToken)方法。

var confirm = await Mvx.Resolve<IUserDialogs>().ConfirmAsync("Are you sure?");
if (confirm)
{
    NotifyUpdated();
}
else
{
    // User pressed Cancel
}

如果您想保持同步,可以使用以下代码:

Mvx.Resolve<IUserDialogs>().Confirm(new ConfirmConfig
{
    OnAction = b =>
    {
        if (b)
        {
            NotifyUpdated();
        }
        else
        {
            // User pressed Cancel
        }
    }
});