首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WPF中使用带有嵌入式INotifyDataErrorInfo的UserControl (与Caliburn.Micro)

在WPF中使用带有嵌入式INotifyDataErrorInfo的UserControl (与Caliburn.Micro)
EN

Stack Overflow用户
提问于 2014-10-29 16:40:02
回答 1查看 999关注 0票数 2

我为一个相当复杂的WPF应用程序继承了一些代码,它使用Caliburn.Micro实现MVVM模式。它使用自动绑定的视图来使用杯标命名约定查看模型。视图模型继承于实现INotifyDataErrorInfo的类,而Fluent验证用于生成特定于字段的错误。这是完美的,除非在一个场景中,我将一个用户控件嵌入到几个不同的视图中,并且需要验证该用户控件中的UI元素。

嵌入式用户控件有自己的视图模型,不实现INotifyDataErrorInfo。只需说明,我们在验证父视图时生成的验证消息不会传播到UI中以供显示。

我不太清楚我需要在这里展示什么代码来说明这个问题,所以这个问题实际上是概念性的--问题是:

我是我的场景,是在嵌入式用户控件后面的视图模型上实现,还是有其他方式让父视图调用其视图模型上的GetErrors(),其属性名称嵌套在嵌入式用户控件中?

我希望这是有意义的-我是非常新的WPF!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-03 14:14:17

我最终解决了这个问题。问题是,我有一个单独的视图模型绑定到嵌套视图,而且该视图模型没有继承实现INotifyDataErrorInfo的类。只需说明一下,这里的规则似乎是您可以拥有嵌入式用户控件,这些控件具有自己的视图模型(datacontext),并且仍然具有验证行为,但是层次结构中的每个视图模型都必须是implementINotifyDataErrorInfo,否则绑定到它们的UI元素不会收到错误通知。在我的例子中,很难看到问题,因为Caliburn.Micro和AutoFac做了很多在调试上下文中很难看到的自动连接。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26635992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档