System.Windows.Controls.Data.DataForm.Toolkit の DataForm があり、この DataForm で [キャンセル] をクリックした後と同じ結果をプログラムで取得する必要があります。
この DataForm は ChildWindow にあるため、これが必要です。DataForm で何かを変更して ChildWindow を閉じると、変更がコミットされます。これはそのようには機能しないはずです。ChildWindow を閉じるときに、[キャンセル] ボタンをクリックした後と同じように、すべての変更を破棄します。
私はもう試した
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
dfColumnInfo.CancelEdit();
base.OnClosing(e);
}
しかし、うまくいきません。
前もって感謝します。
バグファインダーは、変更を保存するコードを追加することを提案しました。childWindow には DataContext として editObject があるため、そのようなことはありません。
childWindow.DataContext = table;
childWindow.MyDataForm.DataContext = table.Items;
childWindow.Show();
方法はわかりませんが、DataForm の [キャンセル] ボタンを押すと、DataForm で行ったすべての変更が元に戻ります。これは素晴らしい考えです。しかし、childWindow の他のボタンを使用するか、childWindow を閉じるだけで同じ効果を得るにはどうすればよいでしょうか。