0

在 wpf 控件中,例如 TextBox,您可以设置 ValidatesOnDataErrors=true。您还可以更改 UpdateSourceTrigger 的默认值。对于插入操作,文本框的初始值通常为空,因此它的内容应该是无效的,并且会以红色边框呈现(确保您可以使用样式和模板覆盖它并获得您想要的内容)。我希望的行为是仅在用户更改其内容或尝试保存数据时才验证控件的内容。在我看来,实现这一点的唯一方法是设置 UpdateSourceTrigger=Explicit,这对纯 MVVM 不是很友好。我已经阅读了以下文章,但我正在寻找更简单的东西。

http://www.shujaat.net/2011/01/updatesourcetrigger-explicit-for-mvvm.html

谢谢菲利波

4

1 回答 1

0

像这样设置 DataErrorValidationRule:

<TextBox>
    <TextBox.Text>
        <Binding Path="PropertyName" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <DataErrorValidationRule ValidatesOnTargetUpdated="False"/>
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>
于 2012-04-27T17:31:56.997 回答