我想通过调用attributes IsValid
函数,动态地将ValidationAttributes
添加到一个属性中,从而对绑定到该特定属性的任何控件启用错误验证。我正在使用AvaloniaUI,但它应该与WPF完全相同。
我尝试实现this answer,通过使用TypeDescriptor.GetProperties
可以看到相应的属性添加了新属性,但是ValidationAttribute的效果似乎不起作用,因为IsValid
函数没有被调用。
我想通过调用attributes IsValid
函数,动态地将ValidationAttributes
添加到一个属性中,从而对绑定到该特定属性的任何控件启用错误验证。我正在使用AvaloniaUI,但它应该与WPF完全相同。
我尝试实现this answer,通过使用TypeDescriptor.GetProperties
可以看到相应的属性添加了新属性,但是ValidationAttribute的效果似乎不起作用,因为IsValid
函数没有被调用。
1条答案
按热度按时间pbgvytdp1#
下面是一些使用 predicate 进行验证的代码。
在基类中有相当一部分是与其他方面有关的,但无论如何,您或其他人可能会发现这很有趣。
基础视图模型:
在继承自该视图模型的视图模型中,您可以添加驱动验证的 predicate :
这是从一个PoC的一些真实的世界代码。