public class DataClass : INotifyPropertyChanged
{
private string _FieldName;
public string FieldName
{
get { return _FieldName; }
set
{
if (_FieldName == value) return;
_FieldName = value;
OnPropertyChanged("Text");
}
}
#region Implementation of INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
Event MainWindow Loaded:
DataAim = new DataClass();
Binding myBinding = new Binding();
myBinding.Path = new PropertyPath("Text");
myBinding.Source = DataAim;
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
txtName_.SetBinding(TextBox.TextProperty, myBinding);
|
Nutze bitte die Code-Tags mit den eckigen Klammern. Dann lässt sch der Code besser lesen.
– lbm1305 31.07.2013
|
private string _firstName;
public string FirstName
{
get { return _firstName; }
set
{
if (value == _firstName)
{
return;
}
_firstName = value;
RaisePropertyChanged("FirstName");
}
}
var binding = new Binding("FirstName")
{
Mode = BindingMode.OneWay,
Source = dataClass,
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};
_textBlock1.SetBinding(TextBlock.TextProperty, binding);
// _textBlock1 ist dabei der Name des Elements
var binding = new Binding("FirstName")
{
Mode = BindingMode.TwoWay,
Source = dataClass,
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};
_txtName.SetBinding(TextBox.TextProperty, binding);
//_txtName ist der Name der TextBox
|
|
|
|
|
public class DataClass : INotifyPropertyChanged
{
private string _FieldName;
public string FieldName
{
get { return _FieldName; }
set
{
if (value == _FieldName)
{
return;
}
_FieldName = value;
OnPropertyChanged("FieldName");
}
}
#region Implementation of INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
}
DataAim = new DataClass();
var binding = new Binding("FieldName")
{
Mode = BindingMode.TwoWay,
Source = DataAim,
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};
txtName_.SetBinding(TextBlock.TextProperty, binding);
|
Um was handelt es sich bei txtName_? Der Name einer TextBox? Oder warum steht in "SetBinding" TextBlock.TextProperty"?
– lbm1305 31.07.2013
|
||
Ich sehe gerade die Antwort von Platon. Er / Sie hat bereits die richtige Antort gepostet. Im Grunde genommen, war einfach der Bezeichner falsch. Statt "Text" muss da der Name des Properties rein "FieldName"
– lbm1305 31.07.2013
|
|
Streng genommen ist der Fehler erst später hinzugekommen. In Deiner Originalfrage stand es noch korrekt drin.
– Jens Duczmal 31.07.2013
|