【发布时间】:2011-11-16 10:54:04
【问题描述】:
我在 Silverlight 4 中使用 TextBlock 绑定获得了一些乐趣。
我有以下情况:
<TextBlock Text="{Binding Date, StringFormat=g}" />
<TextBlock>
<Run Text="{Binding Date, StringFormat=g}"/>
<TextBlock>
其中Date 是System.DateTime 类型的属性。
我没有改变应用程序的当前文化。
我的机器的文化是保加利亚 (bg-BG)。 例如:
文本块 1:2011 年 11 月 16 日下午 12:49
文本块 2:2011 年 11 月 16 日12 点 49 分。
有趣的是,第一个TextBlock 使用 en-Us 文化(或默认不变的文化)格式化日期和时间,而第二个使用 bg-BG 文化。
自从MSDN documentation Silverlight TextBlock 控件说:
如果 InlineCollection 从 XAML 创建为 TextBlock 对象元素的内部文本,或者如果它是通过设置 Text 属性创建的,则 InlineCollection 包含一个包含该文本的 Run。。 p>
我在这里遗漏了什么或者它可以被认为是 Silverlight 4 中的错误?
【问题讨论】:
-
确实很奇怪。您是否注意到 Run 类的 Text 属性不是 DependencyProperty?我想知道在这种情况下绑定是如何工作的。我尝试在两个绑定中放置一个转换器,在运行绑定中,传递给 Convert 方法的区域性参数为 NULL。我会说这是一个错误