Wil*_*lem 83 c# data-binding wpf xaml
我需要在代码中设置绑定.
我似乎无法做到这一点.
这是我尝试过的:
XAML:
<TextBox Name="txtText"></TextBox>
Run Code Online (Sandbox Code Playgroud)
代码背后:
Binding myBinding = new Binding("SomeString");
myBinding.Source = ViewModel.SomeString;
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding);
Run Code Online (Sandbox Code Playgroud)
视图模型:
public string SomeString
{
get
{
return someString;
}
set
{
someString= value;
OnPropertyChanged("SomeString");
}
}
Run Code Online (Sandbox Code Playgroud)
我设置它时,属性不会更新.
我究竟做错了什么?
Dyp*_*ppl 172
试试这个:
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);
Run Code Online (Sandbox Code Playgroud)
如果你指定path(就像在构造函数中那样),你的源应该只是ViewModel,那么.SomeString从路径开始评估该部分.
baa*_*mon 10
您需要将源更改为viewmodel对象:
myBinding.Source = viewModelObject;
Run Code Online (Sandbox Code Playgroud)