为什么WPF支持绑定到对象的属性,而不支持字段?我有一个WCF服务,它通过如下结构传递状态更新:[DataContract]public struct StatusInfo{
[DataMember] public int Total;
[DataMember] public string Authority;}...public StatusInfo GetStatus() { ... }我在ViewModel中公开了一个属性,如下所示:public class ServiceViewModel : ViewModel{
public StatusInfo CurrentStatus
{
get{ return _currentStatus; }
set
{
_currentStatus = value;
OnPropertyChanged( () => CurrentStatus );
}
} }XAML是这样的:<TextBox Text="{Binding CurrentStatus.Total}" />当我运行应用程序时,我会在输出窗口中看到错误,表示无法找到Total属性。我又查,打字正确。我突然意识到,这些错误明确表示找不到“属性”。因此,向结构中添加一个属性使其工作得很好。但这在我看来很奇怪,WPF无法处理单向绑定到字段。从语法上讲,您在代码中访问它们的方式是相同的,只为StatusInfo结构创建一个自定义视图模型似乎很愚蠢。我错过了关于WPF绑定的东西吗?您可以绑定到某个字段,还是属性绑定是唯一的方式?
2 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
- 2 回答
- 0 关注
- 1170 浏览
添加回答
举报
0/150
提交
取消