我在stackoverflow上遇到了类似的问题,但是它不能解释为什么Visual Studio不喜欢xaml页面.Net 4.5上的CurrentCulture或CurrentUICulture。
我可以毫无错误地构建项目,但是我想知道为什么xaml页面不喜欢它?
根据Microsoft;
在.NET Framework 4.5.2和更早版本中,CurrentCulture属性是只读的。也就是说,您可以检索属性值,但是不能设置它。要更改当前区域性,请将代表新区域性的CultureInfo对象分配给Thread.CurrentThread.CurrentCulture属性。从.NET Framework 4.6开始,CurrentCulture属性是可读写的。您可以设置和检索属性的值。如果确实将属性值设置为表示新区域性的CultureInfo对象,则Thread.CurrentThread.CurrentCulture属性的值也会更改。
我相信我只是在这里阅读,并且在我的应用程序中可以正常工作,但是我不明白为什么会出现错误?
<TextBlock Text="{Binding Path=Total, Mode=OneWay, StringFormat='{}{0:c}', Converter={x:Static local:CurrencyConverter.Instance}, ConverterCulture={x:Static gl:CultureInfo.CurrentUICulture}, ConverterParameter={}{0:c}}" />
注意:我不能使用4.6版本。