インスタンスの各プロパティにハンドラーをアタッチするために propertyDescriptor を使用しています。これらのプロパティのいずれかが変更されると、1 つのケース (ここに問題があります) を除いてハンドラー メソッドが呼び出されます。値が文字列で、この文字列が空であるか空白のみを含む場合です。
[保存] ボタンのIsEnabledプロパティを更新するには、このケースを実行する必要があります。
foreach (PropertyDescriptor propertyDescriptor in TypeDescriptor.GetProperties(this.MyInstance))
{
propertyDescriptor.RemoveValueChanged(this.MyInstance, this.MyMethod);
}
たとえば、ユーザーの名を編集して名前を削除する場合、保存ボタンを無効にする必要があります。