【发布时间】:2016-05-30 23:27:32
【问题描述】:
我的视图模型上有一个decimal? 类型的属性。 NULL 应该是该属性的有效值,但是当我从 DecimalUpDown 控件中删除文本时,会发生验证错误,并且该属性没有被赋予 NULL 值(无论它以前是什么)。
控件在 xaml 中声明如下:
<xctk:DecimalUpDown ValueChanged="UpDownBase_OnValueChanged" Text="{Binding ServiceSize}" Minimum="0" Grid.Column="4" Grid.Row="2" Margin="5" IsEnabled="{Binding IsEditable}"/>
但是一旦数字被删除,就会发生验证错误,并且无法将值设置回 NULL(在这种情况下,模型仍然将“5”作为“ServiceSize”的值)。
Validation.GetHasError() 为该控件返回 true。我可以以某种方式完全删除验证规则吗?
【问题讨论】:
-
您可以尝试使用 IValueConverter 来处理空输入,以防您使用数据绑定。
-
@Ephraim 我之前尝试过,但我想我没有正确执行它,因为我在从头开始重写转换器后让它工作。如果您添加一些示例代码的答案,我可以接受它
标签: c# wpf wpf-extended-toolkit