DataContext が割り当てられた WPF ページがあります。このページには、いくつかのテキストボックスがあります。各テキスト ボックスは、DataContext の親オブジェクトのプロパティにバインドされます。たとえば、DataContext には Location オブジェクトがあります。Location オブジェクトには、「Name」や「Address1」などのプロパティがあります。
テキスト ボックス コントロールは次のようにバインドされます。
<Binding Path="Location.Name" Mode="TwoWay">
すべてのデータが有効になると有効になる「コミット」ボタンがあります。これは、プロパティが設定された後のこのプロセスの評価に依存します。これが Location のサブ プロパティでない場合は、次のように簡単に行うことができます。
public Location Location
{
get { return _location; }
set
{
_location = value;
OnPropertyChanged("Location");
OnPropertyChanged("IsCommitEnabled");
}
}
ただし、Location オブジェクトが実際に設定されることはなく、Location オブジェクトの「Name」プロパティが設定されるため、そのイベントは発生しません。Location オブジェクトのプロパティが変更/設定されたときに、「OnPropertyChanged("IsCommitEnabled")」メソッドを起動する方法はありますか?