【问题标题】:WPF : Propagate a validation error down the visual treeWPF:沿着可视化树传播验证错误
【发布时间】:2010-07-19 13:32:21
【问题描述】:

我经常在我的应用中使用和重复使用用户控件。

例如,如果用户应该输入一个整数,我有一个名为“IntegerEditor”的用户控件,它有一个标题标签、一个用户输入文本框和一个单位标签(英寸、秒、等等……)。

我的用户控件已经有一个验证规则,我称之为“IntegerValidationRule”,它控制用户输入是否为整数。

我有一个与该验证规则相关联的样式,它可以更改控件背景并在工具提示中添加错误消息。

有时,我在我的 UI 中使用这些基本控件,但我想添加其他验证规则,例如“整数必须大于 1023”,特殊错误消息为“保留 1024 以下的 UDP 端口,请选择一个更大的数字”。

你知道我可以在其他地方添加这些验证规则但它仍然会触发我控件上的样式吗?我曾想过将验证错误沿可视化树传播,但在网上没有发现任何好消息。

谢谢你的回答,

A.Jeanrichard

【问题讨论】:

    标签: wpf validation propagation


    【解决方案1】:

    嗯...您可以响应路由的“验证失败”事件,但这比拥有一个负责协调不同 ViewModel 之间验证的应用程序级 ViewModel 更困难。

    【讨论】:

    • 您好 Randolpho,感谢您的快速回答。我从未见过任何带有负责协调其他视图模型的视图模型的 MVVM 示例。事实上,我从未见过任何包含使用 UserControls 的 MVVM 示例。你知道任何?那会有很大帮助。问候,安托万
    • 每个用户控件都绑定到一个视图模型,是吗?您的视图模型可以相互交谈。让一些协调的视图模型更新绑定到触发器的视图模型。
    猜你喜欢
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2013-02-18
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多