Xamarin.FormsXamarinFormsxamarin开发技术

Xamarin.Froms 第18局:控件模板

2019-02-13  本文已影响17人  dotNET之家

总目录


前言

本文介绍控件模板:
一、控件模板
二、模板绑定

环境

1.Visual Studio 2017
2.Xamarin.Froms 4.0.0.62955-pre2
3.Android 4.4(API 19)或更高版本
4.约定:XF代表Xamarin.Forms

内容

一、控件模板

控件模板:控件模板将页面与内容分离,使用它很容易实现主题设计。

下面简单实现日间/夜间主题切换。

实现效果
实现方式

在ControlTemplate中定义布局,以及布局内包含的控件,使用ContentPresenter作为自定义内容的占位符,即:自定义显示内容的显示位置;

1.在带有ControlTemplate属性的控件或页面上应用ControlTemplate。

2.带有ControlTemplate属性的控件或页面:

二、模板绑定

模板绑定:模板绑定(TemplateBinding)可以让控件模板中的控件将数据绑定到公共属性,使之动态变化。

上述控件模板中的标题,写死在了控件模板中,下面通过模板绑定,使其绑定到其它属性,使之可以灵活修改。

实现效果
实现方式(主要代码)

新建MainPageViewModel类,并将MainPage的BindingContext绑定到它的实例。

1.使用TemplateBinding绑定到Title属性。

2.TemplateBinding类似于Binding,区别在于:TemplateBinding的源为控件模板所属的控件或页面。例如:本例中TemplateBinding的源为ContentView,而ContentView的Parent为ContentPage,所以模板绑定到Parent.BindingContext.Title,即:ContentPage的BindingContext的Title。

3.TemplateBinding只能在ControlTemplate中使用。

后语

下篇介绍数据模板,待续...


总目录

上一篇 下一篇

猜你喜欢

热点阅读