【发布时间】:2012-06-30 09:47:13
【问题描述】:
在属性绑定中使用 StringFormat 时,.Net 3.5 和 4.0 有什么区别?
我有一个 WPF 窗口,其中只有一个文本框,其 Text 属性绑定到 double 类型的属性。在 3.5 中,当我编辑数字时,文本框按预期工作,但在 4.0 中,我只能编辑小数位的一侧,使用退格或删除会导致出现奇怪的格式并覆盖数据。展示这一点的最佳方式是尝试针对不同框架的示例。
<TextBox FontSize="16" Text="{Binding Path=SetPoint, UpdateSourceTrigger=PropertyChanged, StringFormat=0.000}" Margin="185,130,209,146" />
我还注意到,当我删除 UpdateSourceTrigger 时,.Net 4.0 就像 3.5 版本一样工作。不同版本中的 UpdateSourceTriggers 是否颠倒了?
<TextBox FontSize="16" Text="{Binding Path=SetPoint, StringFormat=0.000}" Margin="185,130,209,146" />
【问题讨论】:
-
您是否尝试过在 3.5 和 4.0 中将 UpdateSourceTrigger 显式设置为相同的值?链接如何检查默认值msdn.microsoft.com/en-us/library/…