私はWinforms Databindingを使用し、基本クラスが実装する派生クラスを持っていますIPropertychanged
:
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName) {
var handler = this.PropertyChanged;
if (handler != null) {
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
各プロパティセッターは以下を呼び出します。
protected void SetField<T>(ref T field, T value, string propertyName) {
if (!EqualityComparer<T>.Default.Equals(field, value)) {
field = value;
IsDirty = true;
this.RaisePropertyChanged(propertyName);
}
}
典型的な Propertysetter:
public String LocalizationItemId {
get {
return _localizationItemId;
}
set {
SetField(ref _localizationItemId, value, "LocalizationItemId");
}
}
プロパティをテキストボックスにバインドする方法
private DerivedEntity derivedEntity
TextBoxDerivedEntity.DataBindings.Add("Text", derivedEntity, "Probenname");
プログラムでテキストをテキスト ボックスに割り当てると、テキスト ボックスに表示されません。しかし、テキストボックスを手動で編集できます。