Picker使用
Picker是一個(gè)列表選擇器。點(diǎn)擊Picker彈出一個(gè)選擇列表,供用戶選擇此熬,不同平臺(tái)渲染效果不同权均。
Picker屬性
-
Title :定義Picker的標(biāo)題,起到提示說(shuō)明作用。
不同平臺(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開(kāi)始,默認(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屬性
- 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è)面的定義代碼。通過(guò)
x:Static
調(diào)用DateTime的靜態(tài)屬性為Date賦值乘瓤,x:FactoryMethod
調(diào)用DateTime的靜態(tài)方法為MinimumDate賦值环形,要訪問(wèn)DateTime類,應(yīng)該在跟節(jié)點(diǎn)ContentPage中添加System命名空間定義xmlns:sys="clr-namespace:System;assembly=mscorlib"
衙傀。
TimePicker使用
TimePicker提供時(shí)間選擇功能斟赚。
TimePicker屬性
- Time :TimeSpan類型,TimePicker當(dāng)前日期差油。
- Format :string類型,設(shè)置所選事件顯示格式任洞。蓄喇。
- TextColor :同Picker屬性。
XAML定義參考DatePicker交掏。
TimePicker事件
TimePicker并沒(méi)有自定義事件,不知道為什么沒(méi)有提供TimeSelected事件妆偏。如何監(jiān)聽(tīng)TimePicker的Time改變事件?PropertyChanged
事件同樣可以監(jiān)聽(tīng)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");
}
};