私のアプリはContentDialogをデータ挿入の手段として使用します。言い換えると;データフォームはContentDialogです。ユーザー入力の検証中、アプリケーションはMessageDialogを使用してユーザーにエラーを表示します。ただし、MessageDialogを終了すると、ContentDialogも終了します。ここでUWP MessageDialogが親ContentDialogを閉じるのを防ぐ
は、警告が表示されたコードの塊です:
private void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
//save item
ValidateForm();
}
private void ContentDialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
}
private async void ValidateForm()
{
//Ensure all fields are filled
String barcode = BarcodeText.Text.Trim();
String desc = DescText.Text.Trim();
String cost = CostText.Text.Trim();
String price = PriceText.Text.Trim();
String stock = StockText.Text.Trim();
if(barcode.Equals(String.Empty) || desc.Equals(String.Empty) ||
desc.Equals(String.Empty) || cost.Equals(String.Empty) ||
price.Equals(String.Empty) || stock.Equals(String.Empty))
{
var dialog = new MessageDialog("Please fill in all fields");
await dialog.ShowAsync();
return;
}
//check uniqueness of the barcode
}
私は親ContentDialogを閉じてから警告を防ぐために何をすべき?
をあなたはまた、あなたのため、 'ContentDialogButtonClickEventArgs'の延期を取る必要があります非同期操作が完了するまで、「キャンセル」を設定しないでください。 –
ありがとう@RaymondChen。サンプルコードに追加しました。 –