DataGridTextColumn不允许输入"double"类型的值。

3

我有一个属性 double? MyDouble { get .. set ... }。 我已经在DataGridTextColumn中绑定了它:

<DataGridTextColumn Binding="{Binding MyDouble}" />

如果我添加UpdateSourceTrigger=PropertyChanged,它就能正常工作。

<DataGridTextColumn Binding="{Binding MyDouble, 
                              UpdateSourceTrigger=PropertyChanged}" />

在这种情况下,我无法输入“。”并添加“double”值。我该如何避免这种行为?

使用 "double?" 可以使用 "." 吗? - Klaus78
是的,我可以在“double?”中使用“.”。 - Rover
3个回答

1

卸载.NET 4.5 Beta。我已经将这个漏洞发布到微软支持


0

我认为这与您的Windows本地化设置有关。例如,如果您想将美国本地化窗口下的“1.65”转换为Double,则会引发异常。但是,当您想在捷克本地化窗口下转换相同字符串时,它会继续执行。

如果没有将UpdateSourceTrigger设置为PropertyChanged,它真的可以正常工作吗?我认为这只会允许您输入“。”,但绑定不会将值设置到底层上下文中。


没有UpdateSourceTrigger它可以工作。现在我正在尝试卸载.NET 4.5 Beta。 - Rover

-1
对于那些没有找到其他解决方案的人,我也发现了这个:

Screenshot

数据类型允许您选择它是什么数据类型,很可能您的设置为int32


你应该将图片始终内联。谁知道您上传了什么类型的图像! - MartinTeeVarga
我明白了,谢谢你告诉我。希望你不会因为这个问题而给我打分。这可能是很多人都遇到的问题的解决方案,如果被标记为错误答案,会让人误解。 - Francisco Lopez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接