【问题标题】:Is it possible to validate a Caliburn.Micro input binding是否可以验证 Caliburn.Micro 输入绑定
【发布时间】:2012-07-03 08:32:27
【问题描述】:

我有一个表单,其中包含一些文本框,这些文本框通过 caliburn 的自动绑定绑定到它们在 VM 中的属性。但是,如果您在文本框中键入对绑定没有意义的内容,Caliburn 只会对它不做任何事情(或者我认为它是这样的)。

我想知道 Caliburn 是否有办法以某种方式将输入约束到其绑定。例如:

我有一个绑定到 VM 中 TimeSpan 的 TextBox。 写入 00:00:10 可以正常工作,并将 TimeSpan 设置为 10 秒。

如果我写 00:00:-10 什么都不会发生,并且绑定保持在之前正确绑定的值。

【问题讨论】:

    标签: c# silverlight validation binding caliburn.micro


    【解决方案1】:

    您的问题与 Caliburn.Micro 无关,它只是帮助您使用数据绑定将视图连接到视图模型。您需要使用的是数据绑定的验证。您可以阅读有关data binding in Silverlight 的更多信息,尤其是数据验证部分是您应该学习的内容。

    Caliburn.Micro 使用约定自动创建绑定。但是,您可能必须在 XAML 中自定义这些绑定才能获得所需的验证行为。

    在您编写00:00:-10 的情况下,您的验证失败,因为绑定引擎的类型转换器引发了异常。如果TextBox 的绑定表达式将ValidatesOnExceptions 属性值设置为true,您将获得该值无效的视觉反馈。而且由于输入的值无法转换为TimeSpan,因此不会对视图模型进行任何更改。

    【讨论】:

      猜你喜欢
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多