2016-04-22 202 views
1

我已经用尽尝试使用OnIdiom更改XAML中的DatePicker格式属性的想法。我曾尝试使用XAML样式,我试图在Constants.cs文件中定义字符串并从XAML引用它。我能想到的唯一方法就是扩展DatePicker并将其设置在那里。有没有人得到这个工作?Xamarin Forms DatePicker格式样式

下面列出了不起作用的东西。

全局样式与OnIdiom

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

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

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

试图只用钥匙定义字符串:

​​

只试图一键定义字符串另一种方式:

<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}不起作用。

回答

1

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

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

稍后可能需要调查。