Xamarin XAML语言教程模板视图TemplatedView(一)
Xamarin XAML语言教程模板视图TemplatedView(一)
模板视图TemplatedView
与模板页面相对的是TemplatedView,它被称为模板视图,它的功能和模板页面类似,也是用来显示控件模板的,只不过比模板页面更加灵活。TemplatedView提供ControlTemplate属性,实现对控件模板的关联,从而展现对应的界面。
【示例14-6:TemplatedViewDemo】以下将使用模板视图显示控件模板,并实现模板的切换。具体的操作步骤如下:
(1)打开App.xaml文件,编写代码,实现在应用程序级别中构建控件模板,代码如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <Application xmlns="http://xamarin.com/schemas/2014/forms"
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- x:Class="TemplatedViewDemo.App">
- <Application.Resources>
- <ResourceDictionary>
- <!--构建控件模板-->
- <ControlTemplate x:Key="ChineseTemplate">
- <StackLayout>
- <StackLayout VerticalOptions="End">
- <BoxView Color="Aqua" />
- </StackLayout>
- <StackLayout Spacing="35"
- VerticalOptions="CenterAndExpand" >
- <Frame OutlineColor="Accent">
- <StackLayout Spacing="20"
- VerticalOptions="CenterAndExpand"
- HorizontalOptions="Center">
- <Label Text="山居秋暝"
- FontSize="30"
- FontAttributes="Bold"
- HorizontalOptions="Center"/>
- <Label Text="空山新雨后,天气晚来秋。"
- FontSize="18"/>
- <Label Text="明月松间照,清泉石上流。"
- FontSize="18"/>
- <Label Text="竹喧归浣女,莲动下渔舟。"
- FontSize="18"/>
- <Label Text="随意春芳歇,王孙自可留。"
- FontSize="18"/>
- </StackLayout>
- </Frame>
- <Button Command="{TemplateBinding Parent. CommandEnglish}"
- Text="Enter English Template" />
- </StackLayout>
- </StackLayout>
- </ControlTemplate>
- <!--构建控件模板-->
- <ControlTemplate x:Key="EnglishTemplate">
- <StackLayout>
- <StackLayout VerticalOptions="End">
- <BoxView Color="Green" />
- </StackLayout>
- <StackLayout Spacing="35"
- VerticalOptions="CenterAndExpand" >
- <Frame OutlineColor="Accent">
- <Label Text="your life only lasts for a few decades, so be sure that you don\'t leave any regrets. laugh or cry as you like, and it‘s meaningless to oppress yourself."
- FontAttributes="Bold"
- FontSize="18"/>
- </Frame>
- <Button Command="{TemplateBinding Parent.CommandChinese}"
- Text="Enter Chinese Template" />
- </StackLayout>
- </StackLayout>
- </ControlTemplate>
- </ResourceDictionary>
- </Application.Resources>
- </Application>
在此代码中,我们构建了两个控件模板,一个为ChineseTemplate控件模板,另一为EnglishTemplate控件模板。
Xamarin XAML语言教程模板视图TemplatedView(一)的更多相关文章
- Xamarin XAML语言教程模板视图TemplatedView(二)
Xamarin XAML语言教程模板视图TemplatedView(二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于中TemplatedView.代码如下: <? ...
- Xamarin XAML语言教程模板页面TemplatedPage
Xamarin XAML语言教程模板页面TemplatedPage 模板页面TemplatedPage 在上文中我们提到了TemplatedPage,它被称为模板页面,用来显示控件模版.Templat ...
- Xamarin XAML语言教程ContentView视图作为自定义视图的父类
Xamarin XAML语言教程ContentView视图作为自定义视图的父类 自定义视图的父类:ContentView视图可以作为自定义视图的父类. [示例14-2]以下将自定义一个颜色视图.具体的 ...
- Xamarin XAML语言教程基本视图ContentViewg构架范围框架
Xamarin XAML语言教程基本视图ContentViewg构架范围框架 ContentView视图基本上有三个作用,下面依次介绍. (1)范围框架:ContentView视图可以构建一个范围框架 ...
- Xamarin XAML语言教程基本视图ContentView
Xamarin XAML语言教程基本视图ContentView 基本视图ContentView 视图是用来呈现具体内容,根据呈现内容不同,使用的视图也不同.其中,最常用的视图为ContentView视 ...
- Xamarin XAML语言教程构建ControlTemplate控件模板
Xamarin XAML语言教程构建ControlTemplate控件模板 控件模板ControlTemplate ControlTemplate是从Xamarin.Forms 2.1.0开始被引入的 ...
- Xamarin XAML语言教程构建ControlTemplate控件模板 (四)
Xamarin XAML语言教程构建ControlTemplate控件模板 (四) 2.在页面级别中构建控件模板 如果开发者要在页面级别中构建控件模板,首先必须将ResourceDictionary添 ...
- Xamarin XAML语言教程构建ControlTemplate控件模板 (三)
Xamarin XAML语言教程构建ControlTemplate控件模板 (三) (3)打开MainPage.xaml.cs文件,编写代码,实现主题的切换功能.代码如下: using System; ...
- Xamarin XAML语言教程构建ControlTemplate控件模板 (二)
Xamarin XAML语言教程构建ControlTemplate控件模板 (二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于ContentView中.代码如下: &l ...
随机推荐
- Jmeter-分布式
转载自: http://www.51testing.com/html/28/116228-247521.html 由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发 ...
- 设计模式之Prototype
设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 介绍: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 为什么要用Prototype ...
- kernel defconfig
Some defconfig files are placed on below path. Only one *_defconfig can be selected. android/kernel/ ...
- js-xlsx操作excel表格
1导入与导出功能实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- plus.networkinfo.getCurrentType()
HTML5+API device Device Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI.IMSI.型号.厂商等.通过plus.device获取设备信息管理对象. 对象: ...
- cacti (可以利用yum安装cacti的配置)
[root@localhost ~]# yum install -y epel-release[root@localhost ~]# [root@localhost ~]# yum install - ...
- 在Dubbo中使用高效的Java序列化(Kryo和FST)
在Dubbo中使用高效的Java序列化(Kryo和FST) 作者:沈理 文档版权:Creative Commons 3.0许可证 署名-禁止演绎 完善中…… TODO 生成可点击的目录 目录 序列化漫 ...
- awk常见操作整理(更新)
awk的基本结构 awk 'BEGIN{} pattern {} END {}' #pattern {} 部分是针对每行进行循环处理的,有pattern表示对匹配到的行处理,没有pattern表示对所 ...
- html,js一个元素做两次不同点击事件
业务需求:一个按钮,第一次点击,修改页面内容,第二次点击,提交修改. 刚开始,我绑定了第一个click事件,用于让右边的内容可编辑.如:$('#id').click(function(){...}); ...
- 利用getBoundingClientRect()来实现div容器滚动固定
ele.getBoundingClientRect()的方法是可以获得一个元素在整个视图窗口的位置 可以return的值有width,height,top,left,x,y,right,bottom ...