我用下面的XAML代码:为什么标签和文本框的绑定结果不同?
<Label Grid.Row="0" Grid.Column="0" Content="Datum"/>
<Label Grid.Row="0" Grid.Column="1" Content="{Binding TimeStamp, StringFormat={}{0:yyyy-MM-dd HH:mm:ss.fff}}"/>
<Label Grid.Row="0" Grid.Column="2" Content="Level"/>
<Label Grid.Row="0" Grid.Column="3" Content="{Binding Level}"/>
但时间戳正在格式如下:
2.24.2012 7:38
我开始了Snoop(伟大的工具!),并注意到,该标签实际是由一个文本框,并且这个文本框包含TimeStamp格式化为我定义它。然后,我用TextBox替换Label,并获得正确格式化的TimeStamp。
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding TimeStamp, StringFormat={}{0:yyyy-MM-dd HH:mm:ss.fff}}"/>
2012-02-24 07:38:23.123
我没有定义资源,触发器或样式块来覆盖标签行为,所以我想知道为什么会发生这种情况。
任何想法?
即使结合为DateTime没有的StringFormat产生不同的结果(取决于我猜测的文化背景)。在我的系统默认TextBlock显示秒,标签不。 – Phil 2012-02-24 07:25:46