gpt4 book ai didi

WPF ValidationRules 禁用 PropertyChanged

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

我有以下文本框,它们在 View 模型中更改了属性。
当我插入 Binding.ValidationRules 并插入一些错误的值时,它不会触发 propertychanged 事件,我不明白为什么。有什么帮助吗?

<TextBox Name="RiskCode" HorizontalAlignment="Left" Margin="101.923,8,0,81" TextWrapping="Wrap" Width="56.077" MaxLength="6" Validation.ErrorTemplate="{StaticResource validationTemplate}"
Style="{StaticResource textBoxInError}">
<TextBox.Text>
<Binding Path="RiskCode" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<vm:RiskCodeValidation/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>

最佳答案

使用ValidationStep .

http://msdn.microsoft.com/en-us/library/system.windows.controls.validationrule.validationstep.aspx

  • RawProposedValue - 在发生任何转换之前运行 ValidationRule。
  • ConvertedProposedValue - 在值转换后运行 ValidationRule。
  • UpdatedValue - 在源更新后运行 ValidationRule。
  • CommittedValue - 在将值提交到源后运行 ValidationRule。

  • 默认为 RawProposedValue ,这可以防止与源的绑定(bind)发生 - 因此您会感到困惑。请改用其他选项:
     <Binding.ValidationRules>
    <vm:RiskCodeValidation ValidationStep="UpdatedValue" />
    </Binding.ValidationRules>

    关于WPF ValidationRules 禁用 PropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984763/

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