Io uso Net 3.5, WinForms, Databindingbidirezionale associazione dati in WinForms, INotifyPropertyChanged implementato in classe di base
ho derivato classi, la classe di base implementa IPropertychanged
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName) {
var handler = this.PropertyChanged;
if (handler != null) {
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
Ogni propertysetter chiama:
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);
}
}
Un tipico Propertysetter:
public String LocalizationItemId {
get {
return _localizationItemId;
}
set {
SetField(ref _localizationItemId, value, "LocalizationItemId");
}
}
Il modo in cui una proprietà è destinata a una casella di testo
private DerivedEntity derivedEntity
TextBoxDerivedEntity.DataBindings.Add("Text", derivedEntity, "Probenname");
Se io programmazione assegno di testo alla casella di testo, la casella di testo non vederlo. Ma posso modificare manualmente la casella di testo.
Winforms Databind, non ne ho mai sentito parlare, ma sicuramente al principiante :) – Krekkon