gpt4 book ai didi

wpf - 从 CoerceValueCallback 抛出异常是否合适

转载 作者:行者123 更新时间:2023-12-04 04:39:28 24 4
gpt4 key购买 nike

CoerceValueCallback 抛出异常是否合适?如果给定值无效或应该只是 ValidateValueCallback用于DP值验证?

最佳答案

CoerceValue 确实应该用于修复一个值(例如,将其限制在 min 和 max 之间)。我不知道抛出异常是否会使应用程序崩溃(您只需要对其进行测试以找出答案)还是框架会处理它,但无论如何我都不推荐它,因为它会违反良好的编码习惯。

为了获得 ValidateValue 的额外信息,有时您必须在类中定义一些额外的字段。您可以绑定(bind)这些字段或在为您的 DP 设置值之前设置它们,然后在您的 ValidateValue 中您可以访问这些字段并获取所需的额外信息。这个额外的字段通过中间“层”创建和传递信息,微软似乎没问题,因为这就是他们(短视)设计框架的方式。

我会给你一个关于新的 WPF 数据网格的例子。如果您采用标准路线并定义 RowValidationRule,您将希望有权访问 ItemsSource(您的表),以确定您的行中的给定值是否已存在于表中。这是一件非常标准的事情,但验证回调中未提供该信息。因此,您必须在验证类中创建一个字段,您可以将 DataGrid 的 ItemsSource 绑定(bind)到该字段,然后您可以在验证期间访问该字段......

关于wpf - 从 CoerceValueCallback 抛出异常是否合适,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694625/

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