在标签中设置日期格式的区域性

本文关键字:格式 区域性 日期 设置 标签 | 更新日期: 2023-09-27 17:57:15

如何正确设置区域性,使标签的内容为"seg"(巴西葡萄牙语中的星期一)?

为 TextBlock 文本绑定设置"转换器区域性"

会将其更改为 pt-BR,但为标签的内容绑定设置"转换器区域性"不会。 下面的 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 。由于日期时间是一个对象,因此不使用转换器,因此您的 ConverterCulture 将被忽略。转换为字符串由 ContentStringFormat 使用默认语言进行。

要获得所需的结果,您可以向标签添加Language="pt-BR"属性。