当从另一个TabItem更改回来时,所有数据验证(IDataError)信息都会消失

时间:2018-03-09 08:33:58

标签: c# wpf idataerrorinfo

说明此问题的VS2017解决方案:https://github.com/ShannonZ/playground.git

IDataErrorInfo的 我在ViewModel类中实现了IDataErrorInfo。 ViewModel只有两个道具X& Y和X + Y不应大于10.

ValidatesOnDataErrors =真 所有TextBox绑定到X / Y都设置为ValidatesOnDataErrors = True

什么是QUIRK 两个TextBox-es被红色突出显示,因为X + Y = 13> 10开始时。 然后,如果您更改为第二个TabItem并再次返回第一个TabItem,则两个TextBox-es将显示为正常状态。即使您手动更改值(保持X + Y> 10),错误信息也不会再次显示。 enter image description here 如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

可能是因为更改制表符时会删除tabitem内容。 看this post

答案 1 :(得分:0)

经过几天的跟踪和检查,我发现Validation.Error信息显示在Adorner Layer中,当您切换标签时,该图层将被丢弃。 解决方法很简单:在AdornerDecorator中添加内容。

dispatch_after