如何正确设置文化以使Label的内容为“seg”(星期一用巴西葡萄牙语)?
为TextBlock设置ConverterCulture Text绑定将其更改为pt-BR,但为Label的Content Binding设置ConverterCulture则不会。 XAML如下。
<Window x:Class="CurrentCulture.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.Resources>
<sys:DateTime x:Key="Td:Mon">2007-1-1</sys:DateTime>
</Grid.Resources>
<StackPanel>
<Label Content="{Binding Source={StaticResource Td:Mon}, ConverterCulture=pt-BR}" ContentStringFormat="{}{0:ddd}" />
<TextBlock Text="{Binding Source={StaticResource Td:Mon}, ConverterCulture=pt-BR,StringFormat={}{0:ddd}}" />
</StackPanel>
</Grid>
</Window>
答案 0 :(得分:4)
TextBlock的Text
属性类型为string
,因此转换器用于将DateTime转换为应用Brasilian样式的字符串。
Label的Content
属性类型为object
。由于DateTime是一个对象,因此不使用转换器,因此会忽略ConverterCulture。转换为String是由ContentStringFormat使用默认语言。
要获得所需的结果,您可以在标签中添加Language="pt-BR"
属性。