Xamarin Forms DatePicker 格式样式

Xamarin Forms DatePicker Format Style

我 运行 没有想法尝试使用 OnIdiom 更改 XAML 中的 DatePicker 格式 属性。我试过使用 XAML 样式,我试过在 Constants.cs 文件中定义字符串并从 XAML 引用它。我能想到的唯一其他方法是扩展 DatePicker 并将其设置在那里。有人让这个工作吗?

下面列出了无效的内容。

全局样式 OnIdiom:

<Style TargetType="DatePicker">
    <Setter Property="Format">
        <OnIdiom x:TypeArguments="x:String"
                 Tablet="D"
                 Phone="d"/>
    </Setter>
</Style>

引用我的 Constants.cs class 文件中定义的字符串的全局样式,该文件使用 Device.Idiom == TargetIdiom.Phone ? "d" : "D";

<Style TargetType="DatePicker">
    <Setter Property="Format" Value="{x:Static map:Constants.LongDateTimeStringFormat}"/>
</Style>

尝试只用一个键定义字符串:

<OnIdiom x:Key="LongDateTimeStringFormat"
         x:TypeArguments="x:String"
         Tablet="D"
         Phone="d"/>

尝试以另一种方式仅使用键定义字符串:

<x:String x:Key="LongDateTimeStringFormat">
    <OnIdiom x:TypeArguments="x:String"
             Tablet="D"
             Phone="d"/>
</x:String>

当尝试在 <DatePicker.Format> 中直接使用 <OnIdiom> 时,没有样式,或者尝试将 DatePicker.Format 设置为 {x:Static map:Constants.LongDateTimeStringFormat} 时,它也不起作用。

嗯...它现在似乎在另一个项目中工作。添加以下全局样式不会像昨天那样给我格式异常。

<Style TargetType="DatePicker">
    <Setter Property="Format">
        <OnIdiom x:TypeArguments="x:String"
                 Tablet="D"
                 Phone="d"/>
    </Setter>
</Style>

可能需要稍后再调查。