为标签中的日期格式设置文化
Setting culture for date format in label
如何正确设置区域性以使 Label 的内容为 "seg"(巴西葡萄牙语中的星期一)?
为 TextBlock 文本绑定设置 ConverterCulture 会将其更改为 pt-BR,但为标签的内容绑定设置 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>
TextBlock 的 Text
属性 类型为 string
,因此转换器用于将 DateTime 转换为应用巴西风格的字符串。
标签的 Content
属性 类型为 object
。由于 DateTime 是一个对象,因此不使用转换器,因此您的 ConverterCulture 将被忽略。 ContentStringFormat 使用默认语言转换为 String。
要获得您想要的结果,您可以向标签添加 Language="pt-BR"
属性。
如何正确设置区域性以使 Label 的内容为 "seg"(巴西葡萄牙语中的星期一)?
为 TextBlock 文本绑定设置 ConverterCulture 会将其更改为 pt-BR,但为标签的内容绑定设置 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>
TextBlock 的 Text
属性 类型为 string
,因此转换器用于将 DateTime 转换为应用巴西风格的字符串。
标签的 Content
属性 类型为 object
。由于 DateTime 是一个对象,因此不使用转换器,因此您的 ConverterCulture 将被忽略。 ContentStringFormat 使用默认语言转换为 String。
要获得您想要的结果,您可以向标签添加 Language="pt-BR"
属性。