原創(chuàng)|產(chǎn)品更新|編輯:黃竹雯|2016-02-06 11:07:49.000|閱讀 241 次
概述:UI工具包Xamarin.Forms更新至v2.1.0-pre1,新版本新增ControlTemplates、DataTemplateSelector、Effects,并且改進(jìn)了HasUnevenRows、ListView等,還修復(fù)了很多操作方面的問(wèn)題。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
Xamarin Forms 是一個(gè)高效創(chuàng)建跨平臺(tái)用戶界面的庫(kù) 。通過(guò)Xamarin Forms 可以一次編碼生成基于主流移動(dòng)平臺(tái)(iOS, Android, Windows Phone)的應(yīng)用界面。和HTML 5 不同, 它是一套原生的界面解決方案,這意味著通過(guò)Xamarin Forms 渲染的界面是與底層API 緊密相連, 那你可以結(jié)合諸如iOS 中的Core Motion , PassKit 還有StoreKit 這些API 使用 ,也可以使用諸如NFC / Google Play Service 的Android API ,當(dāng)然少不了Windows Phone 的Tiles 。
Xamarin Forms 通過(guò)一次編碼,生成多平臺(tái)界面。假若你做的工作涉及到三個(gè)平臺(tái),那你會(huì)對(duì)重重復(fù)復(fù)的界面邏輯工作厭煩,Xamarin Forms 真的是一個(gè)不錯(cuò)的解決方案。使用 Xamarin Forms,你可以通過(guò)C#硬編碼方式去架構(gòu)你的界面,還有你可以通過(guò)XAML方式去構(gòu)建。
具體更新內(nèi)容如下:
ControlTemplates 將在2.1.0版本中進(jìn)行介紹,包括以下類型:
TemplatedPage和TemplatedView現(xiàn)在作為ContentPage和ContentView的基礎(chǔ)類別。ControlTemplates可以用來(lái)定義Control或Page的視覺(jué)外觀,同時(shí)可以清晰地分辨視覺(jué)層次結(jié)構(gòu)和Content本身。ControlTemplates可以通過(guò)應(yīng)用Style來(lái)極大地?cái)U(kuò)張?jiān)赬amarin.Forms的主題功能。
隨著ControlTemplates ,引進(jìn)了TemplateBindings的概念。TemplateBindings運(yùn)行起來(lái)和正常的Bindings相同,不論如何他們的Source都是自動(dòng)設(shè)置目標(biāo)的擁有ControlTemplate的父視圖。超出ControlTemplate 的范圍使用TemplateBinding暫不支持。
IDataTemplateSelectors允許在ListView.ItemsSource每項(xiàng)運(yùn)行時(shí)選擇DataTemplate。
用法:
class MyDataTemplateSelector : DataTemplateSelector { public MyDataTemplateSelector () { // Retain instances! this.templateOne = new DataTemplate (typeof (ViewA)); this.templateTwo = new DataTemplate (typeof (ViewB)); } protected override DataTemplate OnSelectTemplate (object item, BindableObject container) { if (item is double) return this.templateOne; return this.templateTwo; } private readonly DataTemplate templateOne; private readonly DataTemplate templateTwo; }
DataTemplateSelectors有以下限制:
Effects提供了一個(gè)簡(jiǎn)單的方法來(lái)自定義控件的本機(jī)外觀和感覺(jué),而無(wú)需求助于一個(gè)完整的Custom Renderer。您可以使用這些來(lái)自定義本地控件,例如,下面的Effect就顯示了如何在iOS上創(chuàng)建一個(gè)Border effect,這個(gè)effect可以在控件上設(shè)置2像素紫色輪廓:
// located inside iOS specific codebase public class BorderEffect : PlatformEffect { protected override void OnAttached () { Control.Layer.BorderColor = UIColor.Purple.CGColor; Control.Layer.BorderWidth = 2; } protected override void OnDetached () { Control.Layer.BorderWidth = 0; } }
應(yīng)用這種effect,你只需要通過(guò)IList Effects集合附加在Element上。這是一個(gè)簡(jiǎn)單得多的方式用本機(jī)觸動(dòng)來(lái)微調(diào)你的用戶界面。
購(gòu)買(mǎi)最新版Xamarin.Forms<>,即可擁有最新正版授權(quán)!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)