gpt4 book ai didi

WPF 分离错误和警告样式

转载 作者:行者123 更新时间:2023-12-03 23:29:25 36 4
gpt4 key购买 nike

我们如何以与错误类似的方式显示用户警告。唯一的区别是控制例如TextBox 需要有一个不同的错误模板,并且类似于 Validation.HasError 需要有一个 Validation.HasWarning。

换句话说,并非所有验证问题都是“错误”(至少在我们的应用程序中)。我们希望直观地指示某事是警告还是错误。

最佳答案

我有时需要那种中间立场。点赞Command s 需要来自 CanExecute 的 3 个值而不是 truefalse .

至于像验证一样运行的警告,我不知道需要将所有部分放在一起,但我想我知道如何开始。

您将需要依赖附加属性和附加行为(订阅对象上的事件并在它们触发时执行与这些事件相关的操作的附加属性)。您可能有一个管理 ValidationRule 的集合。用于确定是否发出警告的对象,很像 Validation属性做。你可能有一个叫 HasWarning通过可以在样式/模板触发器中引用的验证来设置或取消设置。

你可以让每个控件模板的警告显示部分,或者你可以再次模仿Validation并拥有 WarningTemplate用于将警告信息放置在 AdornerLayer 中的附加属性.

自定制ValidationRule对象返回 ValidationResult ErrorContent 在其中的对象只是一个对象,并且这个对象也暴露在 ValidationError对象为 ErrorContent ,毕竟您也可以使用常规验证。你可以使用一个类作为你的ErrorContent具有 ErrorType 的对象警告或错误的属性并绑定(bind)到您的 ErrorTemplate .

我不确定是否有 ValidationError s present 会阻止您希望允许的某些操作(例如按钮按下),但是可以在 ViewModel 上创建某种代理来判断 ErrorType .

关于WPF 分离错误和警告样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2296821/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com