如何绑定到类属性
本文关键字:属性 绑定 何绑定 | 更新日期: 2023-09-27 18:04:02
是否可以绑定到类中的属性?
假设我在我的ViewModel中有一个这样的属性(我的ViewModel继承自BindableBase)
private PointOfView _userPointOfView;
public PointOfView UserPointOfView
{
get { return _userPointOfView; }
set{ SetProperty(ref _userPointOfView, value); }
}
其中PointOfView类有一些属性比如一个名为UserString的字符串变量
在我的应用程序中,我这样设置数据上下文
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,而不是创建这么多的属性在类中的每个属性。
绑定到'嵌套'属性是可能的,也是很常见的。如果绑定值没有出现,则可能没有正确设置DataContext。使用调试输出窗口提示未正确绑定的内容。
同样,如果你的PointOfView类没有实现INotifyPropertyChanged,那么你的绑定不会自动更新。它将只显示绑定建立时第一次出现的值。