Xamarin XAML语言教程ContentView视图作为自定义视图的父类
来源:互联网 发布:知味襄阳9月15日 编辑:程序博客网 时间:2024/06/14 17:04
Xamarin XAML语言教程ContentView视图作为自定义视图的父类
自定义视图的父类:ContentView视图可以作为自定义视图的父类。
【示例14-2】以下将自定义一个颜色视图。具体的操作步骤如下:
(1)创建一个Forms Xaml View文件,命名为ColorView。
(2)打开ColorView.xaml文件,编写代码,构建自定义颜色视图。代码如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <ContentView xmlns="http://xamarin.com/schemas/2014/forms"
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- x:Class="ContentViewCustomControls.ColorView">
- <Frame OutlineColor="Accent">
- <StackLayout Orientation="Horizontal">
- <BoxView x:Name="boxView"
- WidthRequest="70"
- HeightRequest="70" />
- <StackLayout>
- <Label x:Name="colorNameLabel"
- FontSize="Large"
- VerticalOptions="CenterAndExpand" />
- <Label x:Name="colorValueLabel"
- VerticalOptions="CenterAndExpand" />
- </StackLayout>
- </StackLayout>
- </Frame>
- </ContentView>
(3)打开ColorView.xaml.cs文件,编写代码,实现一些与颜色视图相关的属性。代码如下:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Xamarin.Forms;
- namespace ContentViewCustomControls
- {
- public partial class ColorView : ContentView
- {
- string colorName;
- ColorTypeConverter colorTypeConv = new ColorTypeConverter();
- public ColorView()
- {
- InitializeComponent();
- }
- //颜色名称
- public string ColorName
- {
- set
- {
- colorName = value;
- colorNameLabel.Text = value;
- Color color = (Color)colorTypeConv.ConvertFromInvariantString(colorName);
- boxView.Color = color;
- colorValueLabel.Text = String.Format("{0:X2}-{1:X2}-{2:X2}",
- (int)(255 * color.R),
- (int)(255 * color.G),
- (int)(255 * color.B));
- }
- get
- {
- return colorName;
- }
- }
- }
- }
(4)打开MainPage.xaml文件,编写代码,通过颜色视图实现对内容页面的布局。代码如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:local="clr-namespace:ContentViewCustomControls"
- x:Class="ContentViewCustomControls.MainPage">
- <ContentPage.Padding>
- <OnPlatform x:TypeArguments="Thickness"
- iOS="0, 20, 0, 0" />
- </ContentPage.Padding>
- <StackLayout Padding="6, 0">
- <local:ColorView ColorName="Aqua" />
- <local:ColorView ColorName="Black" />
- <local:ColorView ColorName="Blue" />
- <local:ColorView ColorName="Fuchsia" />
- <local:ColorView ColorName="Gray" />
- </StackLayout>
- </ContentPage>
此时运行程序,会看到如图14.10~14.11所示的效果。
(5)构建更复杂的布局模式:在ContentView中可以包含视图,还可以包括布局,从而构建更为复杂的布局模式。
阅读全文
0 0
- Xamarin XAML语言教程ContentView视图作为自定义视图的父类
- Xamarin XAML语言教程基本视图ContentView
- Xamarin XAML语言教程基本视图ContentViewg构架范围框架
- Xamarin XAML语言教程模板视图TemplatedView(一)
- Xamarin XAML语言教程模板视图TemplatedView(二)
- Xamarin iOS教程之自定义视图
- Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)
- Xamarin XAML语言教程XAML文件结构与解析XAML
- tableview自定义内容视图contentView及辅助视图accessoryType
- Xamarin XAML语言教程对象元素的声明方式
- Xamarin XAML语言教程控件模板的模板绑定
- Xamarin XAML语言教程构建进度条ProgressBar
- Xamarin XAML语言教程模板页面TemplatedPage
- Xamarin XAML语言教程将XAML设计的UI显示到界面
- Xamarin XAML语言教程Xamarin.Forms中活动指示器的显示隐藏
- 父视图透明度为零 不影响子视图; TableView的 cell.contentView 透明;
- Xamarin XAML语言教程使用Visual Studio创建XAML
- Xamarin XAML语言教程Visual Studio中实现XAML预览
- 关于UGUI自动设置锚点到控件四个角的问题
- bzoj 4530: [Bjoi2014]大融合 lct维护子树信息
- 【BZOJ】1131 [POI2008]Sta 递推
- jvm之优秀博文
- DFS序总结
- Xamarin XAML语言教程ContentView视图作为自定义视图的父类
- python 之 matplotlib 作图
- Leetcode Binary Tree Preorder Traversal
- MATLAB中常见目录操作
- 设计模式的六大原则
- HDOJ 1257 最少拦截系统(最长递增子序列)
- jquery修改css中带有!important的样式属性
- Java中switch语句真正执行顺序及default位置对结果的影响
- 接口的特点