在 Caliburn.Micro 中自动验证属性

Posted

技术标签:

【中文标题】在 Caliburn.Micro 中自动验证属性【英文标题】:Auto validation of properties in Caliburn.Micro 【发布时间】:2013-05-16 04:19:05 【问题描述】:

所以我在 Caliburn.Micro 上搞了一点,突然间我发现了一些有趣的东西。

我有一个名为 Maximum 的 int 类型的 ViewModel 属性,通过命名约定与 CM 自动绑定到一个 TextBox。

当我输入 not 和整数的内容(即字符)时,文本框的边框变为红色,并且不调用属性的设置器。

这是 CM 的自动功能吗?

【问题讨论】:

据我所知,CM 没有内置验证机制。这可能只是文本框/绑定机制的一个特性——你试过没有 CM 吗? 【参考方案1】:

不,这是 WPF 的行为。一种选择是绑定到视图模型上的字符串属性,然后在视图模型中执行验证(即解析为 int,并在解析失败时提供默认值)。

【讨论】:

感谢您的回答。有没有办法禁用这种行为? 另一种选择是使用可为空的 int 并将 TargetNullValue 设置为 TextBox 上的空字符串,请参阅 ***.com/a/1895482/83111

以上是关于在 Caliburn.Micro 中自动验证属性的主要内容,如果未能解决你的问题,请参考以下文章

使用Caliburn.Micro系列2:Convention

Caliburn.Micro-如何从继承的ViewModel在WPF视图中显示多个项目:Conductor 。Collection.AllActive

使用 caliburn micro 和 fluent 验证通过按钮进行验证

C# WPF MVVM开发框架Caliburn.Micro自定义引导程序④

Caliburn.Micro 将 DateTimeOffset 绑定到 DatePicker

Caliburn Micro:如何设置绑定 UpdateSourceTrigger?