プログラムでデータグリッドに変更を加えた後、私が書いたこの関数を呼び出します。検証エラーを確認し、ユーザーが存在するかどうかを通知して、修正できるようにします。それ以外の場合は、背景の変化を静かに維持します。 「ポップアップを待機/ロードする」とはどういう意味かわかりません。唯一の兆候は、タブの画面名の横にある小さな青いスピナーです。
private void ValidateAndSave()
{
//Check for validation errors
if ((this.Details.ValidationResults.HasErrors == false)) {
//Save the changes to the database
try {
this.DataWorkspace.DatabaseNameData.SaveChanges();
} catch (Exception ex) {
this.ShowMessageBox(ex.ToString());
}
} else {
//If validation errors exist,
string res = "";
//Add each one to a string,
foreach (object msg_loopVariable in this.Details.ValidationResults) {
msg = msg_loopVariable;
res = res + msg.Property.DisplayName + ": " + msg.Message + "\r\n";
}
//And display them in a message box
this.ShowMessageBox(res, "Validation error", MessageBoxOption.Ok);
}
}
注:これをVB.NETから変換したので、おそらく代替品の減少ではありません。特に、メッセージボックスは異なって行われていると思うので、それを再確認してください。