Picker使用
Picker是一個(gè)列表選擇器。點(diǎn)擊Picker彈出一個(gè)選擇列表,供用戶選擇,不同平臺(tái)渲染效果不同。
Items展開效果
Picker屬性
-
Title :定義Picker的標(biāo)題,起到提示說明作用。
不同平臺(tái)Title渲染效果不同,Windows Phone會(huì)單獨(dú)提供一個(gè)Label顯示Title。
Title展示效果 - TextColor :選中某項(xiàng)后,文本顯示在Picker上的顏色。
-
Items :
IList<string>
類型 ,表示Picker提供的可選集合,XAML中定義Items借助<x:String>
節(jié)點(diǎn)。 - SelectedIndex :int類型,表示選擇項(xiàng)索引,由0開始,默認(rèn)值-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>
同時(shí)賦值Items和SelectedIndex屬性,SelectedIndex賦值應(yīng)再Items之后。
Picker事件
- SelectedIndexChanged :SelectIndex值發(fā)生改變時(shí)觸發(fā),響應(yīng)SelectedIndexChanged事件時(shí)應(yīng)對(duì)SelectIndex的-1值進(jìn)行判斷。
DatePicker使用
DatePicker提供日期選擇功能。
DatePicker不同平臺(tái)效果
DatePicker屬性
- Date :DateTime類型,DatePicker當(dāng)前日期。
- Format :string類型,設(shè)置所選日期顯示格式。
- MaximumDate :DatePicker最大可選日期,默認(rèn)值1900-1-1。
- MinimumDate :DatePicker最小可選日期,默認(rèn)值2100-12-31。
- TextColor :同Picker屬性。
Date、MinimumDate、MaximumDate不同賦值方式參考本文示例
DatePicker事件
- DateSelected :用戶選擇新日起即Date發(fā)生改變時(shí)觸發(fā)。
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>
這里提供了整個(gè)XAML頁(yè)面的定義代碼。通過
x:Static
調(diào)用DateTime的靜態(tài)屬性為Date賦值,x:FactoryMethod
調(diào)用DateTime的靜態(tài)方法為MinimumDate賦值,要訪問DateTime類,應(yīng)該在跟節(jié)點(diǎn)ContentPage中添加System命名空間定義xmlns:sys="clr-namespace:System;assembly=mscorlib"
。
TimePicker使用
TimePicker提供時(shí)間選擇功能。
TimePicker不同平臺(tái)效果
TimePicker屬性
- Time :TimeSpan類型,TimePicker當(dāng)前日期。
- Format :string類型,設(shè)置所選事件顯示格式。。
- TextColor :同Picker屬性。
XAML定義參考DatePicker。
TimePicker事件
TimePicker并沒有自定義事件,不知道為什么沒有提供TimeSelected事件。如何監(jiān)聽TimePicker的Time改變事件?PropertyChanged
事件同樣可以監(jiān)聽Time的變化,PropertyChanged事件由BindableObject提供,當(dāng)BindableProperty類型屬性改變時(shí)會(huì)觸發(fā)PropertyChanged事件。
timePicker.PropertyChanged += (sender, e) =>
{
if (e.PropertyName.Equals("Time"))
{
DisplayAlert("Time Alert", $"{timePicker.Time.ToString()}", "OK");
}
};