gpt4 book ai didi

silverlight - 验证 Silverlight DataGrid 中的新行

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

我们正在使用 RIA 服务/Silverlight 4,我正在将数据网格绑定(bind)到 Context.Foo 之类的东西。

当用户尝试在必填字段等中输入空字符串时,我可以看到数据网格的验证摘要中出现验证错误,生活很美好。

但是,当我通过在 viewModel 中调用类似 Context.Foo.Add(new Foo) 的方法添加新项目时,新行出现在数据网格中,但除非用户单击单元格,否则永远不会被验证。

有没有办法让 DataGrid 验证所有项目?

最佳答案

您不需要让 DataGrid 为您验证行,而是需要验证新行绑定(bind)到的对象本身。您可以使用 Validator 类为您执行此操作。例如,假设您的对象被分配给一个名为 newRowObject 的变量,您可以执行以下操作:

List<ValidationResult> validationResults = new List<ValidationResult>();
ValidationContext validationContext = new ValidationContext(newRowObject, null, null);
bool isValid = Validator.TryValidateObject(newRowObject, validationContext, validationResults, true);

应该实现你所追求的(我强调应该,只是因为我在写这篇文章之前没有在示例中亲自检查它)。

希望这有助于...

克里斯

关于silverlight - 验证 Silverlight DataGrid 中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3869971/

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