は、ほとんどのUIバインディングは、すでにINotifyPropertyChanged
(WPFのために)特に、プロパティの通知を経由してこれを処理します。 - あなたは単一インスタンス上でユーザーIDを更新している場合、すなわち:
class User : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName) {
PropertyChangedEventHandler handler = PropertyChanged;
if(handler!=null) handler(this, new PropertyChangdEventArgs(
propertyName));
}
private string userId;
public string UserId {
get {return userId;}
set {
if(userId != value) {
userId = value;
OnPropertyChanged("UserId");
}
}
}
}
これは、自動的にバインディングを更新する必要があります。あなたがいる場合は、代わりに、実際のユーザーインスタンスを変更し、その後、同じトリックを検討しますが、何に対してユーザーをホスト:
public User User {
get {return user;}
set {
if(user != value) {
user = value;
OnPropertyChanged("User");
}
}
}
をそして、あなたが何かの「User.UserId」に結合されている場合、それが動作するはずです。
Userオブジェクトが変更されている場合は、そのUserオブジェクトが変更されていますか?同じUserインスタンスで変更されたUserIdですか? –
DataSourceが変更されている場合、DataSourceを新しいオブジェクトに設定すると、バインドされたコントロールが自動的に更新されます。バウンドプロパティが変更されている場合は、INotifyPropertyChangedが必要です – Gishu