Как установить привязку в коде?
у меня есть необходимость создать привязку в коде.
кажется, я не могу понять это правильно.
вот что я пробовал:
XAML:
<TextBox Name="txtText"></TextBox>
код:
Binding myBinding = new Binding("SomeString");
myBinding.Source = ViewModel.SomeString;
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding);
ViewModel:
public string SomeString
{
get
{
return someString;
}
set
{
someString= value;
OnPropertyChanged("SomeString");
}
}
свойство не обновляется, когда я установить его.
что я делаю не так?
2 ответа:
попробуйте это:
Binding myBinding = new Binding(); myBinding.Source = ViewModel; myBinding.Path = new PropertyPath("SomeString"); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding);
если указать
path
(как в конструкторе), ваш источник должен быть простоViewModel
на.SomeString
часть вычисляется из пути.