gpt4 book ai didi

wpf - WPF文本框字符串格式的奇怪问题 - 光标向后移动

转载 作者:行者123 更新时间:2023-12-05 01:29:10 25 4
gpt4 key购买 nike

我正在使用 WPF 4.0 TextBox 和绑定(bind)。我正在使用 StringFormat 将数字格式化为货币。 XAML 看起来像这样:

<TextBox Text="{Binding Path=ValueProperty, ValidatesOnDataErrors=True, ValidatesOnExceptions=True, StringFormat={}{0:C}, UpdateSourceTrigger=PropertyChanged}">
</TextBox>

除了奇怪的行为外,一切似乎都正常工作:
例如,当用户输入 12 时:在输入 1 之后,文本框中的值变为 $1.00,奇怪的是光标移动到了 $ 和 1 之间。
因此,当用户简单地输入 12 时,结果变为 21.00 美元。

我该如何解决这种奇怪的行为?

最佳答案

我会改变你的UpdateSourceTrigger回到 LostFocus 的默认值(用于 TextBox)。

通过将其设置为 PropertyChanged,您将强制验证和字符串格式在用户每次键入字符时运行。这会导致非常奇怪的行为,例如您所看到的。

如果您将其保留为默认值(或将其显式设置回 LostFocus),则格式化+验证将在用户完全键入时发生。这将消除 StringFormat 插入新字符、验证中途中断以及您在使用 PropertyChanged 时遇到的其他问题时发生的奇怪问题。

关于wpf - WPF文本框字符串格式的奇怪问题 - 光标向后移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2852106/

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