当前位置: 首页 > 编程语言 > C#

C#学习教程:.NET4.5出现奇怪的文本框问题-没有'.’以允许与.NET4.5共享

时间:2023-04-11 01:02:45 C#

奇怪的文本框问题-否’。’允许我有一个与.NET4.5相关的非常奇怪的问题。今天一位用户告诉我,他不能在文本框中输入浮点数(例如“2.75”)。文本框不接受“.”,在我的文化中这是浮点数的正确“分隔符”(“de-CH”)。这个问题是我用.NET4.5(之前是4.0)编译软件后出现的。我可以重现这个错误。应用程序中的所有其他文本框都可以正常工作。文本框是常规的WPF控件。没有花哨的用户定义控件或类似的东西。再次:文本框不接受'。’作为一个角色。它似乎完全忽略了它。其他所有字符(甚至像“@”这样的特殊字符)都可以。在.NET4.0上重新编译应用程序解决了这个问题。文本框的xaml是:ProcessHours的定义:partialclassProjectTask{...publicdoubleTotalProcessHours{get{returnProjectBookings.Sum(b=>b.ProcessHours);}}...}Hours_TextChanged是:privatevoidHours_TextChanged(objectsender,TextChangedEventArgse){UpdateHoursValidity();}UpdateHoursValidity()只是淡出实际文本框下方的文本消息。它没有以任何方式连接到“损坏的”文本框:privatevoidUpdateHoursValidity(){stringkey=IsInvalidHoursWarning?"ShowWarningStoryboard":"HideWarningStoryboard";varstoryboard=FindResource(key)作为故事板;如果(故事板!=null)故事板.Begin();所以这里没什么特别的。到目前为止我尝试了什么:-删除文本框,重新编译,再次添加文本框,重新编译->同样的情况当我尝试输入“。”时,调试控制台上没有消息。对此有什么想法吗?提前致谢!这是与TextBox控件和数据绑定浮点值相关的众所周知(并有记录)的问题。您可以通过向绑定添加StringFormat来解决此问题:请调整格式以适合您的情况。您可以在MSDN的自定义数字格式字符串帖子中找到更多格式。MicrosoftConnect站点上详细讨论了导致此问题的.NET4.5更改:https://connect.microsoft.com/VisualStudio/feedback/details/737301/binding-to-wpf-textbox-seems-to-BE破坏公式4-5-β除了StringFormat变通方法之外,另一种选择是为绑定设置延迟。以上是C#学习教程:StrangeTextBoxproblemwith.NET4.5-no'.'所有允许分享的内容,如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注~本文收集自网络,不代表立场.如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: