xamarin-forms (一) 建一个独立控件库,使控件独立出来,让项目分离开来。

大家在写xamarin forms应用的时候,可能需要写一个独立的类库,去封装控件。然后提供给其他的项目中的xaml引用。类似于这种样子

这个myLabel就是我自己封装的一个Label。。。。

在说这个控件怎么封装之前,先介绍我的一个发现:这种方式不仅仅可以应用于控件的封装,,,,用这种方式可以封装一切 资源,提供给其他项目使用。。

先从封装一个最简单的计算类说起

首先:建一个独立的控件项目,并写一个静态类,类名要个命名空间额最后一个单词一样,里面要有一个静态方法Init

其次:我建一个类,类名叫count(这个类要是public的,而且要继承一下接口IMarkupExtension,并实现接口的ProvideValue方法,这个方法会提供给xaml一个返回值,这很重要)

到这里,一个小控件就算完成了。我们要在forms项目的启动项目的APP.xaml.cs里面加点东西,如图调用这个Init方法,尽管Init方法里什么都没有,但是你还是得调用(前提是,该启动项目已经引用了控件库)

好了,现在,我们可以在xaml里面引用这个你定义的计算类

写法有两种(注意我用红框框起来的部分),写完之后,你就可以去运行试试了

封装控件和上面的差不多,,,紧接着上面你写好的项目,

首先:在控件库中加入一个控件(可以是带xaml的,也可以不带,但是我喜欢带xaml的,因为我喜欢用xaml进行布局,写动画),我这里的控件名称就叫"myLabel:,同样,myLabel要继承IMarkupExtension接口。

注意两点:(1)实现IMarkupExtension接口的方法时,返回this。原因是,这个值是返回给xaml的,因为你这个控件要在xaml中引用嘛

(2)控件带xaml的话,调用  this.LoadFromXaml(typeof(myLabel));这个方法,加载xaml

现在,你可以在myLabel.xaml里尽情用xaml去布局,去写动画了。。。就像wpf一样自由

这下一运行,就可以了。试试看吧。。

如果你实在学不会,,联系我qq:742923150(困兽),,,发源码给你看吧。。。

时间: 2024-10-17 06:54:51

xamarin-forms (一) 建一个独立控件库,使控件独立出来,让项目分离开来。的相关文章

HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等

本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件,然后就可以使用组件里的各种组件信息了. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装: Install-Package HslControls NuGet安装教程  http://www.cnblogs.com/dathlin/p

DevExpress控件库---TokenEdit控件使用

用到的基础数据: public class Product { public int Id { get; set; } public string Model { get; set; } public string Name { get; set; } } public class Entility { private static string GetChar(int number) { string[] array = new string[] { "A","B"

Mysql 建一个UTF-8编码的库

用root用户登陆mysql开发工具(建议 MySql Workbench),在SQL执行窗口执行下面sql,会创建一个test_db的数据库: DROP DATABASE IF EXISTS test_db; -- 建立数据库 CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARSET utf8 COLLATE utf8_general_ci; -- 设置全UTF-8访问 alter database test_db character set 

【转】Xamarin Forms 介绍

特此声明,本篇博文转自:http://blog.csdn.net/kinfey/article/details/29621381 什么是 Xamarin Forms ? Xamarin Forms 是一个高效创建跨平台用户界面的库 .通过Xamarin Forms 可以一次编码生成基于主流移动平台(iOS, Android, Windows Phone)的应用界面.和HTML 5 不同, 它是一套原生的界面解决方案,这意味着通过Xamarin Forms 渲染的界面是与底层API 紧密相连, 那

Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过使用平台的原生控件来渲染用户界面,使用 Xamarin.Forms 的 App在外观上与平台完全一致.通过本文您可以快速了解如何使用 Xamarin.Form 来进行应用程序的开发. 简介 Xamarin.Forms可以帮助开发人员快速的构建跨平台的UI,通过一次编码,生成多平台界面.如果你做的工作

搞懂Xamarin.Forms布局,看这篇应该就够了吧

Xamarin.Forms 布局介绍 什么是布局?可以简单的理解为,我们通过将布局元素有效的组织起来,让屏幕变成我们想要的样子! 我们通过画图的方式来描述一下Xamarin.Forms的布局. 小节锚点: 布局控件之StackLayout Xamarin.Forms 中可以C#代码进行布局 Xamarin.Forms 的布局方向 边距和填充 八种布局选项 布局控件之Grid 布局控件之AbsoluteLayout 布局控件之ScrollView 布局控件之RelativeLayout 布局控件之

(转载)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)

因为私人问题,鸡啄米暂停更新了几天,首先向关注鸡啄米动态的朋友说一声抱歉. 言归正传,鸡啄米上一节中讲了编辑框的用法,本节继续讲解常用控件--按钮控件的使用. 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图.单选按钮使用时,一般是多个组成一组,组中每个单选按钮的选中状态具有互斥关系,即同组的单选按钮只能有

开启Xamarin.Forms的智能感知(代码提示功能)

在使用Xamarin.Forms经常要编写xaml文件,如果是手写的话是在太蛋疼了,其实是可以开启智能感知的 1.Xamarin Studio 更新到最新版本,具体什么版本开始的不知道了,5.7以上的肯定可以,使用新技术就别用那种几年前的版本了,要勤更新,Xamarin.Forms并不是一个成熟的技术. 2.Visual Stuio 还是上面那句话,XForms对VS的要求是vs2013 update4及以上,vs2013 community和vs2015均可 以上的几个版本对XForms的xa

VS2010-MFC(常用控件:按钮控件Button、Radio Button和Check Box)

转自:http://www.jizhuomi.com/software/182.html 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图.单选按钮使用时,一般是多个组成一组,组中每个单选按钮的选中状态具有互斥关系,即同组的单选按钮只能有一个被选中. 命令按钮是我们最熟悉也是最常用的一种按钮控件,而单选按钮