如何在代码中设置绑定?
我需要在代码中设置绑定。
我似乎无法得到正确的寿。
这是我曾经试过的:
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);
视图模型:
public string SomeString { get { return someString; } set { someString= value; OnPropertyChanged("SomeString"); } }
该属性不更新时,我设置它。
我究竟做错了什么?
尝试这个:
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
部分是从path求值的。
您需要将源代码更改为viewmodel对象:
myBinding.Source = viewModelObject;