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. 01-UIScrollView01-大图片展示

          源代码下载链接:01-UIScrollView01-大图片展示.zip283.7 KB // //  MJViewController.m //  01-UIScrollView01-大图 ...

  2. ubuntu中使用virtualbox遇到Kernel driver not installed (rc=-1908)错误

    百度之后得到解决,再此做个笔记 错误提示 Kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver (vbox ...

  3. Perl6 Bailador框架(5):利用正则匹配路径

    use v6; use Bailador; =begin pod 我们在路径设置上, 可以利正则表达式捕获的字符串作为子例程参数 =end pod get '/perl6/(.+)' => su ...

  4. linux安装lamp

    github https://github.com/zblogcn/zblogphp Installation If your server system: CentOS yum -y install ...

  5. Lodash使用示例(比较全)

    <html> <head> <meta name="viewport" content="width=device-width" ...

  6. IE7下面iframe滚动条无法用鼠标轮滚 其他浏览器可以

    1.让 IFRAME 隐藏滚动条,通常的做法就是在嵌入  IFRAME 的页面的 CSS 中指定以下规则:   html, body {overflow: hidden}   2.如果只是想隐藏横向滚 ...

  7. 4:django url

    一个干净的,优雅的URL 方案是一个高质量Web 应用程序的重要细节. 这节我们来看看django是如何做到干净优雅的url的 1:Django如何处理一个请求 通过ROOT_URLCONF决定根UR ...

  8. HDU-5273

    Dylans loves sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  9. [PAT] 1141 PAT Ranking of Institutions(25 分)

    After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...

  10. MySQL关键字大全

    转载自:https://blog.csdn.net/benxiaohai888/article/details/77803090 在使用MySQL的时候,一般尽量避免用关键字作为表名,如使用关键字做表 ...