Xamarin.Forms Views介绍(三)

以下主要内容转自:http://www.jianshu.com/p/ad612a1eb593

Picker使用

Picker是一个列表选择器。点击Picker弹出一个选择列表,供用户选择,不同平台渲染效果不同。

Picker属性

Title :定义Picker的标题,起到提示说明作用。

不同平台Title渲染效果不同,Windows Phone会单独提供一个Label显示Title。

Title展示效果

TextColor :选中某项后,文本显示在Picker上的颜色。

Items :IList<string>类型 ,表示Picker提供的可选集合,XAML中定义Items借助<x:String>节点。

SelectedIndex :int类型,表示选择项索引,由0开始,默认值-1。

XAML定义:

  <Picker Title="Picker Title" TextColor="Aqua" HorizontalOptions="Center" VerticalOptions="Center">
      <Picker.Items>
          <x:String>Item 1</x:String>
          <x:String>Item 2</x:String>
          <x:String>Item 3</x:String>
          <x:String>Item 4</x:String>
      </Picker.Items>
      <Picker.SelectedIndex>
          2
      </Picker.SelectedIndex>

  </Picker>

同时赋值Items和SelectedIndex属性,SelectedIndex赋值应再Items之后。

Picker事件

SelectedIndexChanged :SelectIndex值发生改变时触发,响应SelectedIndexChanged事件时应对SelectIndex的-1值进行判断。

 

DatePicker使用

DatePicker提供日期选择功能

DatePicker属性

Date :DateTime类型,DatePicker当前日期。

Format :string类型,设置所选日期显示格式。

MaximumDate :DatePicker最大可选日期,默认值1900-1-1。

MinimumDate :DatePicker最小可选日期,默认值2100-12-31。

TextColor :同Picker属性。

Date、MinimumDate、MaximumDate不同赋值方式参考本文示例

DatePicker事件

DateSelected :用户选择新日起即Date发生改变时触发。

XAML定义示例:

<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:local="clr-namespace:views"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        x:Class="views.viewsPage">
    <ContentPage.Padding>
        <OnPlatform x:TypeArguments="Thickness"
        iOS="0, 20,  0, 0" />
    </ContentPage.Padding>
    <DatePicker TextColor="Red" Format="yyyy-MM:dd" MaximumDate="2022-2-22" Date="{x:Static sys:DateTime.Today}">
        <DatePicker.MinimumDate>
            <sys:DateTime x:FactoryMethod="Parse">
               <x:Arguments>
                  <x:String>2000-1-1</x:String>
               </x:Arguments>
            </sys:DateTime>
         </DatePicker.MinimumDate>
    </DatePicker>

</ContentPage>

这里提供了整个XAML页面的定义代码。通过x:Static调用DateTime的静态属性为Date赋值,x:FactoryMethod调用DateTime的静态方法为MinimumDate赋值,要访问DateTime类,应该在跟节点ContentPage中添加System命名空间定义xmlns:sys="clr-namespace:System;assembly=mscorlib"。

 

TimePicker使用

TimePicker提供时间选择功能。

TimePicker属性

Time :TimeSpan类型,TimePicker当前日期。

Format :string类型,设置所选事件显示格式。。

TextColor :同Picker属性。

XAML定义参考DatePicker。

TimePicker事件

TimePicker并没有自定义事件,不知道为什么没有提供TimeSelected事件。如何监听TimePicker的Time改变事件?PropertyChanged事件同样可以监听Time的变化,PropertyChanged事件由BindableObject提供,当BindableProperty类型属性改变时会触发PropertyChanged事件。

            timePicker.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName.Equals("Time"))
                {
                    DisplayAlert("Time Alert", $"{timePicker.Time.ToString()}", "OK");
                }

            };

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值