xaml onPlatform DateTime绑定

lmyy7pcs  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(88)

有一个DatePicker,我试图通过绑定一个仅用于Android设备的DateTime来设置MaximumDate属性。

<DatePicker x:Name="FromDatePicker" BackgroundColor="Transparent" FontSize="15" Grid.Row="0" Grid.Column="0" 
       Margin="{OnPlatform iOS='5, 0, 0, 0'}"
       HorizontalOptions="Start" Date="{Binding FromDate}"
       MaximumDate="{OnPlatform Android={Binding FromMaximumDate}}">
</DatePicker>

字符串
我也尝试了以下方法:

<DatePicker x:Name="FromDatePicker" BackgroundColor="Transparent" FontSize="15" Grid.Row="0" Grid.Column="0" 
            Margin="{OnPlatform iOS='5, 0, 0, 0'}"
            HorizontalOptions="Start" Date="{Binding FromDate}">

    <DatePicker.MaximumDate>
        <OnPlatform x:TypeArguments="sys:DateTime">
            <On Platform="Android" Value="{Binding FromMaximumDate}"/>
        </OnPlatform>
    </DatePicker.MaximumDate>
</DatePicker>


但是它不起作用。我只是得到Specified cast not valid。什么是正确的语法来实现这一点?

vql8enpb

vql8enpb1#

对于那些遇到相同问题的人。你可以使用TypeArguments=“BindingBase”。最有可能的是vs将显示xaml intellisense错误**属性不支持类型为'Onplatform'1(BindingBase)**的值,但无论如何都会工作。

<DatePicker x:Name="FromDatePicker" BackgroundColor="Transparent" FontSize="15" Grid.Row="0" Grid.Column="0" 
            Margin="{OnPlatform iOS='5, 0, 0, 0'}"
            HorizontalOptions="Start" Date="{Binding FromDate}">

    <DatePicker.MaximumDate>
        <OnPlatform x:TypeArguments="BindingBase" Android="{Binding ToMinimumDate}"/>
    </DatePicker.MaximumDate>
</DatePicker>

字符串

相关问题