Xamarin.Forms Views介紹(三)

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上的顏色。
  • ItemsIList<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");
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容