gpt4 book ai didi

c# - WPF 自定义验证 MVVM

转载 作者:行者123 更新时间:2023-12-03 10:30:57 25 4
gpt4 key购买 nike

我在想出一种验证用户输入的好方法时遇到问题。我知道我可以实现 IDataErrorInfo对用户输入进行简单验证,我已经阅读了几篇关于该主题的文章(例如 thisthis )而没有看到光。让我解释一下我遇到的两个问题:

基本上我正在实现一个允许用户在系统中创建用户的应用程序。我的 View 模型使用一组 WCF 服务来保存它的工作。当有人想创建一个新用户时,我可以很容易地看到如何使用 IDataErrorInfo 来禁止输入空用户名。但是如果用户名不为空并且调用 CreateUser服务失败,因为用户名已经存在,那么如何突出显示用户名文本框?我的第二个问题是两个 PasswordBox我有,密码和重复密码。由于我无法将数据绑定(bind)到 Password我不知道如何使用 IDataErrorInfo验证密码不为空的方法。此外,我需要确保两个密码相同,因此这再次需要一些自定义机制。

我绝不是 WPF 方面的专家,也许我缺少一些明显的解决方案,所以如果可以的话,请说明我如何解决这个问题。

提前致谢,

克劳斯

最佳答案

我们实现自定义验证并为每个字段提供 IsDirty、IsValid 和 ErrorMessage 属性。然后我们对控件、文本框、组合等进行样式设置,并使用数据触发器来显示对象状态,如果它无效,我们可能会在控件上进行小检查,当用户将鼠标悬停在上面时,会有一个带有错误消息的工具提示。

here是密码框的解决方法,这里存在安全问题,但这完全取决于您需要的安全性,不是吗?

关于c# - WPF 自定义验证 MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880267/

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