原創|產品更新|編輯:黃竹雯|2016-02-06 11:07:49.000|閱讀 241 次
概述:UI工具包Xamarin.Forms更新至v2.1.0-pre1,新版本新增ControlTemplates、DataTemplateSelector、Effects,并且改進了HasUnevenRows、ListView等,還修復了很多操作方面的問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Xamarin Forms 是一個高效創建跨平臺用戶界面的庫 。通過Xamarin Forms 可以一次編碼生成基于主流移動平臺(iOS, Android, Windows Phone)的應用界面。和HTML 5 不同, 它是一套原生的界面解決方案,這意味著通過Xamarin Forms 渲染的界面是與底層API 緊密相連, 那你可以結合諸如iOS 中的Core Motion , PassKit 還有StoreKit 這些API 使用 ,也可以使用諸如NFC / Google Play Service 的Android API ,當然少不了Windows Phone 的Tiles 。
Xamarin Forms 通過一次編碼,生成多平臺界面。假若你做的工作涉及到三個平臺,那你會對重重復復的界面邏輯工作厭煩,Xamarin Forms 真的是一個不錯的解決方案。使用 Xamarin Forms,你可以通過C#硬編碼方式去架構你的界面,還有你可以通過XAML方式去構建。
具體更新內容如下:
ControlTemplates 將在2.1.0版本中進行介紹,包括以下類型:
TemplatedPage和TemplatedView現在作為ContentPage和ContentView的基礎類別。ControlTemplates可以用來定義Control或Page的視覺外觀,同時可以清晰地分辨視覺層次結構和Content本身。ControlTemplates可以通過應用Style來極大地擴張在Xamarin.Forms的主題功能。
隨著ControlTemplates ,引進了TemplateBindings的概念。TemplateBindings運行起來和正常的Bindings相同,不論如何他們的Source都是自動設置目標的擁有ControlTemplate的父視圖。超出ControlTemplate 的范圍使用TemplateBinding暫不支持。
IDataTemplateSelectors允許在ListView.ItemsSource每項運行時選擇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提供了一個簡單的方法來自定義控件的本機外觀和感覺,而無需求助于一個完整的Custom Renderer。您可以使用這些來自定義本地控件,例如,下面的Effect就顯示了如何在iOS上創建一個Border effect,這個effect可以在控件上設置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; } }
應用這種effect,你只需要通過IList Effects集合附加在Element上。這是一個簡單得多的方式用本機觸動來微調你的用戶界面。
購買最新版Xamarin.Forms<>,即可擁有最新正版授權!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網