gpt4 book ai didi

.net - 在 WPF PropertyGrid 中实现验证

转载 作者:行者123 更新时间:2023-12-02 00:36:33 24 4
gpt4 key购买 nike

我已经实现了一个 PropertyGrid 并且所选对象(在另一个库中)的属性显示在其中。属性值通过绑定(bind)绑定(bind)到 PropertyGrid 控件。现在,我想对用户在 PropertyGrid 控件(主要是 TextBox)中输入的值执行验证,如果值不正确则向用户显示一条消息。

将有一些常见的验证,如数值、必填字段等和一些与业务逻辑相关的验证(如值不能大于此等)。

有哪些方法可以实现这个(IDataErrorInfo 或其他)?

最佳答案

如果您已经在 ViewModel 上实现了 IDataErrorInfo,我发现这个数据模板对于显示错误非常有用:

<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}" />
</Trigger>
</Style.Triggers>
</Style>

这样,您只需在文本框绑定(bind)上设置 ValidatesOnDataErrors=True,如果有任何错误,您会得到一个显示错误的工具提示。这也可以应用于其他控件。

有关如何正确实现 IDataErrorInfo 的信息,请查看此处:
http://blogs.msdn.com/b/wpfsdk/archive/2007/10/02/data-validation-in-3-5.aspx
尤其要看一下“3.5 IDataErrorInfo 支持

关于.net - 在 WPF PropertyGrid 中实现验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4396205/

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