是否可以绑定到类中的属性?
假设我的ViewModel中有一个这样的属性(我的ViewModel继承自BindableBase)
private PointOfView _userPointOfView;
public PointOfView UserPointOfView
{
get { return _userPointOfView; }
set{ SetProperty(ref _userPointOfView, value); }
}
PointOfView类有一些属性,说一个名为' UserString'
的字符串变量在我的应用程序中,我像这样设置我的datacontext
public MainPage()
{
this.InitializeComponent();
DataContext = App.ViewModel;
PointOfView POV = bew PointOfView();
POV.UserString = "Test";
App.ViewModel.UserPointOfView = POV;
}
我想在XAML中做的事情就像是
<TextBlock Text="{Binding UserPointOfView.UserString, Mode="OneWay"}"></TextBlock>
无论如何我尝试了类似的东西,但它永远不会更新xaml页面上的文本块。
有没有人知道是否有办法做到这一点?它会更轻松,并且在我的ViewModel中保存了大量代码重复,而不是为类中的每个属性创建这么多属性。
答案 0 :(得分:1)
绑定到&#39;嵌套&#39;是非常常见的。属性。如果未出现绑定值,则可能没有正确设置DataContext。使用调试输出窗口提示没有正确绑定的内容。
此外,如果您的PointOfView类未实现INotifyPropertyChanged,则您的绑定不会自动更新。它只显示绑定建立时首次出现的值。