我有以下的 XAML 代码:
<TextBlock Text="{Binding Source={x:Static s:DateTime.Now}, StringFormat=Date: {0:dddd, MMMM dd}}"/>
s:DateTime.Now
和 xmlns:s="clr-namespace:System;assembly=mscorlib"
在运行时和设计模式(Visual Studio 2015 Enterprise)中都可以正常工作。
但是如果我尝试使用 CultureInfo.CurrentCulture
,那么这只在运行时工作,并在设计模式中给出错误信息 (xmlns:c="clr-namespace:System.Globalization;assembly=mscorlib"
):
<TextBlock Text="{Binding Source={x:Static s:DateTime.Now}, ConverterCulture={x:Static c:CultureInfo.CurrentCulture}, StringFormat=Date: {0:dddd, MMMM dd}}"/>
我不是在寻找解决方法。我只是想了解DateTime.Now
和CultureInfo.CurrentCulture
之间的区别,以及为什么其中一个可以工作而另一个不能。
DateTime.Now
和CultureInfo.CurrentCulture
,而不是在于Source
和ConverterCulture
之间吗?(尽管可能很奇怪,试着将Source
指定为CultureInfo.CurrentCulture
,看看是否还会出错。) - Jon Skeet