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(一)的更多相关文章

  1. Xamarin XAML语言教程模板视图TemplatedView(二)

    Xamarin XAML语言教程模板视图TemplatedView(二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于中TemplatedView.代码如下: <? ...

  2. Xamarin XAML语言教程模板页面TemplatedPage

    Xamarin XAML语言教程模板页面TemplatedPage 模板页面TemplatedPage 在上文中我们提到了TemplatedPage,它被称为模板页面,用来显示控件模版.Templat ...

  3. Xamarin XAML语言教程ContentView视图作为自定义视图的父类

    Xamarin XAML语言教程ContentView视图作为自定义视图的父类 自定义视图的父类:ContentView视图可以作为自定义视图的父类. [示例14-2]以下将自定义一个颜色视图.具体的 ...

  4. Xamarin XAML语言教程基本视图ContentViewg构架范围框架

    Xamarin XAML语言教程基本视图ContentViewg构架范围框架 ContentView视图基本上有三个作用,下面依次介绍. (1)范围框架:ContentView视图可以构建一个范围框架 ...

  5. Xamarin XAML语言教程基本视图ContentView

    Xamarin XAML语言教程基本视图ContentView 基本视图ContentView 视图是用来呈现具体内容,根据呈现内容不同,使用的视图也不同.其中,最常用的视图为ContentView视 ...

  6. Xamarin XAML语言教程构建ControlTemplate控件模板

    Xamarin XAML语言教程构建ControlTemplate控件模板 控件模板ControlTemplate ControlTemplate是从Xamarin.Forms 2.1.0开始被引入的 ...

  7. Xamarin XAML语言教程构建ControlTemplate控件模板 (四)

    Xamarin XAML语言教程构建ControlTemplate控件模板 (四) 2.在页面级别中构建控件模板 如果开发者要在页面级别中构建控件模板,首先必须将ResourceDictionary添 ...

  8. Xamarin XAML语言教程构建ControlTemplate控件模板 (三)

    Xamarin XAML语言教程构建ControlTemplate控件模板 (三) (3)打开MainPage.xaml.cs文件,编写代码,实现主题的切换功能.代码如下: using System; ...

  9. Xamarin XAML语言教程构建ControlTemplate控件模板 (二)

    Xamarin XAML语言教程构建ControlTemplate控件模板 (二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于ContentView中.代码如下: &l ...

随机推荐

  1. gitlab通过api创建组、项目、成员

    前戏 获取gitlab中admin用户的private_token Groups API 获取某个组的详细 curl --header "PRIVATE-TOKEN: *********&q ...

  2. Ant打jar包时,参数名被修改的问题

    https://blog.csdn.net/landehuxi/article/details/42678117 使用Ant打jar包后,发现jar包中的方法名会在前面自动添加了“param”前缀,导 ...

  3. JMeter 保持sessionId

    因项目需要,这几天用到了jmeter进行性能测试,测试的是一个管理系统,需要用户先登录,然后才能做操作的,其中就遇到了关于session的问题. 我使用的是badboy(版本2.1)进行的脚本录制,然 ...

  4. javascript拖拽原理与简单实现方法[demo]

    美国人有一句常用的俗语—“Re-inventing the Wheel”,从字面上来解释就是“重新发明轮子”.可是轮子早已问世,再要去发明岂非劳而无功? 产品经理发下需求,实施者再到网上搜索代码,也许 ...

  5. 【BZOJ】1984 月下“毛景树”

    [算法]树链剖分+线段树 [题解]线段树的区间加值和区间覆盖操作不能同时存在,只能存在一个. 修改:从根节点跑到目标区域路上的标记全部下传,打完标记再上传回根节点(有变动才需要上传). 询问:访问到目 ...

  6. Spring 与 Quartz 动态配置(数漫江湖)

    因为项目的需求,需要有动态配置计划任务的功能.本文在 Quartz JobBean 中获取配置的 Quartz cronExpression 时间表达式及 Spring Bean 的对象名.方法名并运 ...

  7. vue调试工具

    在进行vue项目开发的时候,免不了要进行调试,谷歌插件vue-devtools可以帮忙 步骤 步骤一: 到谷歌商店搜索"vue-devtools"下载 步骤二: 在chrome的扩 ...

  8. Perl6 Bailador框架(2):路径设置

    use v6; use Bailador; =begin pod get表示是get发送 post表示是post发送 get/post 后面的 '/name' 表示是路径 => sub {} 是 ...

  9. CMD命令行下载文件

    远程执行sct的另一种姿势 cscript /b C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs 127.0.0.1 scrip ...

  10. 一个文档让vim飞起来

    原文地址:http://www.cnblogs.com/songfy/p/5635757.html 引言 今天我们特地来讲讲这个vim的配置. vim这东西, 很多人装逼的时候经常会提到, 不过大部分 ...