2016-05-12 114 views
2

我试图解决一个问题,突然这样的:设置ConverterCulture用x:静态



有什么不对?它是可编译的,似乎在运行时没有问题。重新启动VS并没有帮助,xaml设计者总是说“无效的标记”。


的XAML:

<Window x:Class="WpfApplication1.MainWindow" 
     ... 
     xmlns:SystemGlobalization="clr-namespace:System.Globalization;assembly=mscorlib"> 
    <TextBlock Text="{Binding Test, ConverterCulture={x:Static SystemGlobalization:CultureInfo.CurrentCulture}}" /> 
</Window> 

编译器错误:

The member "CurrentCulture" is not recognized or is not accessible.

更多的细节:

  • VS 2015年
  • .Net框架4.5
+0

请看到帖子: http://stackoverflow.com/questions/27477598/the-member-currentculture-is-not-recognized-or-is-not-accessible – MarPreSI

+0

厂对于我来说,在VS2010或VS2013中没有错误 –

+1

@MartinPrediger,感谢您找到重复,但它没有可接受的解决方案,并且没有任何答案有帮助,例如我必须定位'4.5',并且由于[issue](http://stackoverflow.com/q/37182987/1997232),我试图从早期的自定义绑定切换到xaml。 – Sinatr

回答

3

@Sinatr,CurrentCulture是一个只读属性。所以你可以使用

Text="{Binding Test,ConverterCulture={x:Static SystemGlobalization:CultureInfo.DefaultThreadCurrentCulture}}" 
+0

我需要将值设置为App.cs中的DefaultThreadCurrentCulture(为空) 刚刚添加:app.cs下的'CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CurrentCulture;' c'tor – shmoltz