2017-06-09 15 views
1

私はAcr.Dialogsを次のように使用してダイアログボックスを表示しています。 しかし、それはOKである1つのボタンをサポートしているようです。しかし、私はCancelOKボタンを持っています。ViewModelの警告

ViewModel.cs

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

、それは* *プロンプトです:

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

あなたは物事を維持したい場合は、あなたがこのコードを使用することができます同期し。 – Amy

+0

さて、私は 'プロンプト'を探しています。 – hotspring

+0

概念的に言えば、アラートは単にユーザーが確認するものです。アラートを「キャンセル」することは意味がありません。決定が下された場合、ユーザーの入力を求めるプロンプトが表示されます。 – Amy

答えて

2

確認ダイアログがOKがあり、デフォルトでキャンセル。代わりにTask<bool> IUserDialogs.ConfirmAsync(string message, string title = null, string okText = null, string cancelText = null, CancellationToken? cancellationToken)メソッドを使用できます。複数のボタンを持っている場合は、警告のないその時点で、

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

あなたの与えられた例ではキャンセルは表示されませんか? – hotspring

+0

キャンセルを処理する方法を示すためにサンプルコードを更新しました。プログラムでダイアログを閉じる場合は、[こちら](https://github.com/aritchie/userdialogs/issues/68)をご覧ください。 –