C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码

.NET core2.0 发布了,刺激,大致看了一下,很不错,打算后期学习.(不出意外,应该也会写个小系列).

虽然官方推荐用共享类库创建新的类库..然而我这个Demo还是使用的可移植..

嗯..解释一下 为什么暂时没用共享类库..

有些小BUG 可能是为了迎合其他类型的项目..所以在共享类库里创建的Page并不能很好的结合 - - 类似如下:

  正常的应该是这样

呃其实我前面也说过这个,这个解决方案也很简单..在PCL项目里创建了..在复制过去..就好了..就是正常的..类似下面:

今天的学习内容?

嗯..今天主要学习Xamarin中的各种原装控件

比较多..你们可以不看..或者随便看看..我会把这些控件的相关属性都翻译一下,列出来,就当这是一个控件的查询字典吧..

效果如下:

 

 

 

 

正文

1.ActivityIndicator

嗯,其实就是一个加载的圈..如图:

推荐场景..例如下拉刷新,或者上拉加载的时候,可以显示出来.

常用属性:

属性

Color

颜色属性,可以设置颜色 例如,“Color.Red”和“Red”都指定颜色为红色。

IsRunning

 Bool值,表示这个圈圈是否在转动.

示例代码:

 <ActivityIndicator Color="Red" IsRunning="true" x:Name="Loading" />

 

2.BoxView

标识一个色块,作用有点类似于HTML里面的DIV..嗯 你可以继承它 做一些自定义的东西.也可以用来填充

 

常用属性:

属性

Color

颜色属性,指定色块的颜色.

 

示例代码:

 <BoxView Color="Red" x:Name="Box" WidthRequest="20" HeightRequest="20" />

 

3.Button

这..我就不多说了,按钮..你们懂的

 

常用属性:

属性

BorderColor

边框颜色.

 

BorderRadius

 

 设置边框的圆角

 BorderWidth 边框宽度
 Command 命令,获取或设置激活该按钮时要调用的命令。这是一个可绑定的属性。
 CommandParameter 命令参数,获取或设置要传递给Command属性的参数。这是一个可绑定的属性。
 ContentLayout获取或设置一个对象来控制按钮图像的位置以及按钮图像与按钮文本之间的间距。
 Font 获取或设置标签文本的字体。这是一个可绑定的属性。
 FontAttributes 获取一个值,该值指示按钮文本的字体是粗体还是斜体.
 FontFamily 获取按钮文本的字体所属的字体.
 FontSize 获取或设置按钮文本的字体大小。
 Image 获取或设置按钮中显示在文字旁边的图像。这是一个可绑定的属性。
 Text 获取或设置显示为按钮内容的文本。这是一个可绑定的属性。
 TextColor 获取或设置按钮文本的颜色。这是一个可绑定的属性。
 Clicked 设置按钮的点击事件

 

示例代码:

 

 <Button Text="测试按钮" TextColor="Red" BackgroundColor="Blue" BorderRadius="10" HeightRequest="80" Clicked="Button_Clicked"/>

 

4.DatePicker

日期选择器,提供给用户选择日期使用.

 

常用属性:

属性

Format

指定控制所选日期的显示格式的字符串。如:"yyyy-MM-dd"

Date

设置默认显示的日期

MinimumDate

设置最小可选择的日期

MaximumDate

设置最大可选择的日期


示例代码:
 

<DatePicker Format="yyyy-MM-dd" TextColor="Blue" x:Name="TimePic" MinimumDate="2015-05-30" />

 

 

5.TimePicker

时间选择器,提供给用户选择时间使用.

 

常用属性:

属性

Format

指定控制所选时间的显示格式的字符串。如:"ss"

TextColor

设置显示文本的颜色

Time

设置默认选中的时间


示例代码: 

 <TimePicker TextColor="Blue"  />

 

6.Editor

一个文本编辑框,类似于html的textarea

 

常用属性:

属性

FontAttributes

获取一个值,该值指示编辑器的字体是粗体,斜体还是不显示

FontFamily

获取编辑器的字体所属的字体.

FontSize

获取编辑器的字体大小。

Text

获取或设置显示的文本。这是一个可绑定的属性。

TextColor获取或设置文本颜色。



示例代码: 

<Editor WidthRequest="50" HeightRequest="200" />

 

7.Entry

一个文本输入框,类似于html的input 的text

 

常用属性:

属性

IsPassword

设置Entry是否为密码状态.是则输入的内容显示*

Placeholder

设置默认的输入框灰色提示信息,

Text

获取或设置显示的文本。这是一个可绑定的属性。

TextColor

获取设置字体的颜色


示例代码: 

 

 <Entry Text="内容" />

 

8.Image

一个图片控件,主要作用就是显示图片..

 

常用属性:

属性

Aspect

获取或设置图像的缩放模式。这是一个枚举

IsLoading

获取图像的加载状态。(这是一个只读属性)

IsOpaque

获取或设置图像的不透明度标志。

Source

获取或设置图像的源。图片源有很多种,可以来自于文件,图片流,或者URL


示例代码: 

 

  <Image  Source="icon.png" />

  

9.Label

显示文本专用..这个.大家都熟悉..我就不BB了 - - 

 

常用属性:

属性

FontAttributes

获取一个值,该值指示编辑器的字体是粗体,斜体还是不显示

FontFamily

获取编辑器的字体所属的字体.

FontSize

字体大小

Text

文本内容

TextColor文本颜色
HorizontalTextAlignment获取或设置Text水平对齐方式。
VerticalTextAlignment获取或设置Text垂直对齐方式。
LineBreakMode设置行的排列方式(枚举)


示例代码: 

 

<Label Text="LableText"/>

 

 

10.Picker

这个,大家也应该很熟悉,就是HTML的Select, 下拉列表

 

常用属性:

属性

Items

下拉列表的内容(字符串集合)

SelectedIndex

获取或设置选中值的下标

SelectedItem

获取选中值的内容

Title

设置选择框的标题


示例代码: 

 

<Picker x:Name="Pickeritem" Title="adasasdwww"/>

  

11.ProgressBar

嗯..很简单..加载进度条.

 

常用属性:

属性

Progress

设置进度条的加载进度..  1为满值 .5为50%


示例代码: 

 <ProgressBar Progress=".5" />

  

12.SearchBar

一个搜索栏

 

常用属性:

属性

CancelButtonColor

搜索栏颜色

Placeholder

搜索栏为空时的默认文本

SearchCommand

搜索命令

Text

搜索栏的文本值

 

SearchButtonPressed

搜索栏的搜索事件

示例代码: 

 <SearchBar Text="搜索" SearchButtonPressed="SearchBar_SearchButtonPressed"/>

 

 

13.Slider

一个滑块..

 

常用属性:

属性

Maximum

滑块能选择的最大值

Minimum

最小值

Value

滑块的值

示例代码: 

 <Slider Maximum="50" Minimum="10" Value="10" />

 

 

 

14.Switch

一个开关.

 

常用属性:

属性

IsToggled

True或False,以指示开关是否已经切换。

Toggled

开关切换触发的事件

示例代码: 

            <Switch  IsToggled="True" Toggled="Switch_Toggled_1"></Switch>

 

 

 

15.Stepper

一个数值选择器,

 

 

 

常用属性:

属性

Increment

增量值,就是点击一下,加多少,或者减多少。

Maximum

最大值

Minimum

最小值

Value默认值
ValueChanged值改变触发的事件

示例代码: 

 <Stepper Increment="10" Maximum="100" Minimum="0" Value="20" ValueChanged="Stepper_ValueChanged" />

相关文章: 

  • C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

  • .NET Standard@Xamarin.Forms

  • C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码

原文地址:http://www.cnblogs.com/GuZhenYin/p/7372366.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“老师,我不要苹果味的,我要葡萄味的”!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。题库四班目前题库正在维护中&#xff0c;工作量最大的莫过于题库里面的题量了&#xff0c;所以目前的解决方法是让动员大家一起出题&#xff0c;但是人多较杂&#xff0c;各种各样的题都有&#xff08;…

一次频繁Full GC的排查过程,根源居然是它...

转载自 一次频繁Full GC的排查过程&#xff0c;根源居然是它... 业务部门的一个同事遇到个奇怪的 Full GC 问题&#xff0c;有个服务迁移到新的应用后&#xff0c;一直频繁 Full GC。新应用机器的配置是 4c 8g&#xff0c;老应用是 4c 4g&#xff0c;老应用 GC 都很正常&…

jzoj1158-荒岛野人【扩欧,gcd,同余方程】

正题 大意 有n个野人&#xff0c;每个野人有一个初始山洞CiCi&#xff0c;每次向前移动距离PiPi&#xff0c;寿命LiLi&#xff0c;如果野人走到了最后一个山洞那么继续就好回到第一个山洞&#xff0c;求至少多少个山洞才可以让野人们不会发生冲突。 解题思路 我们可以枚举答…

.NET Core 2.0 的dll实时更新、https、依赖包变更问题及解决

今天所有开发环境已经迁移到mac OS下的Visual Studio Code 命令行编译发布&#xff0c;而运行服务器是CentOS7&#xff0c;和windows没什么关联了。 只要你Relese编译并在本地有一个与服务器相同的运行环境中运行成功了&#xff0c;迁移到真实服务器不会有什么难度。 下面是迁…

“老师,我写着写着就 强制交卷了……”

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。01暴露出的问题

张老师讲Python~

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。最近我的个人站上线啦&#xff0c;欢迎大家访问http://穆雄雄.com&#xff1b;或者点击文末的“阅读原文”。昨天下午靳老师分享了关于网站部署的内容&#xff0c;今天下午请张炜林上去分享了下他准…

Entity Framework Core 2.0 新特性

一.模型级查询过滤器&#xff08;Model-level query filters&#xff09; ef core2.0包含了一个新特性&#xff0c;我们叫他模型级查询过滤器&#xff08;Model-level query filters&#xff09;。此特性允许使用Linq查询表达式直接定义在实体类型的元数据模型上。这样的过滤器…

激动的时刻,终于成啦~

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号&#xff1a;【雄雄的小课堂】。今天&#xff0c;最令我激动的一件事莫过于倾注一周精力的“在线测试”终于可以投入使用了&#xff0c;周二发过一篇文章&#xff0c;是关于在线测试的问题总结&#xff0c;也就是在周二&a…

C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

今天的学习内容? 今天我们讲讲Xamarin中的MVVM双向绑定,嗯..需要有一定的MVVM基础.,具体什么是MVVM - -,请百度,我就不多讲了 效果如下: 正文 1.简单的入门Demo 这个时间的功能很简单,就是一个时间的动态显示. 我们首先创建一个基础的页面如下: <?xml version"…

由「Metaspace容量不足触发CMS GC」从而引发的思考

转载自 由「Metaspace容量不足触发CMS GC」从而引发的思考 某天早上&#xff0c;毛老师在群里问「cat 上怎么看 gc」。 好好的一个群 看到有 GC 的问题&#xff0c;立马做出小鸡搓手状。 之后毛老师发来一张图。 老年代内存占用情况 图片展示了老年代内存占用情况。 第一个…

是现在的钱不值钱还是药太贵!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。莫名其妙的就感觉身体不舒服&#xff0c;然后越来越严重&#xff0c;打小以来还是第一次遇见这样的&#xff0c;你说是感冒吧&#xff0c;它也不流鼻涕&#xff0c;喉咙也不痛&#xff0c;鼻子也通…

一次堆外内存泄露的排查过程

转载自 一次堆外内存泄露的排查过程 最近在做一个基于 websocket 的长连中间件&#xff0c;服务端使用实现了 socket.io 协议&#xff08;基于websocket协议&#xff0c;提供长轮询降级能力&#xff09; 的 netty-socketio 框架&#xff0c;该框架为 netty 实现&#xff0c;鉴…

.NET Core 2.0 特性介绍和使用指南

前言 这一篇会比较长&#xff0c;介绍了.NET Core 2.0新特性、工具支持及系统生态&#xff0c;现状及未来计划&#xff0c;可以作为一门技术的概述来读&#xff0c;也可以作为学习路径、提纲来用。 对于.NET Core 2.0的发布介绍&#xff0c;围绕2.0的架构体系&#xff0c;我想…

Lombok MyBatisX

Lombok的使用 [1] 什么是LomBok lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具&#xff0c;简单来说&#xff0c;比如我们新建了一个类&#xff0c;然后在其中写了几个属性&#xff0c;然后通常情况下我们需要手动去建立g…

一次堆外OOM问题的排查过程

转载自 一次堆外OOM问题的排查过程 背景 线上服务有一台机器访问不通&#xff08;一个管理平台),在公司的服务治理平台上查看服务的状况是正常的&#xff0c;说明进程还在。进程并没有完全crash掉。去线上查看机器日志&#xff0c;发现了大量的OOM异常: 017-03-15 00:00:0…

Azure与Scott Guthrie:Azure安全中心和基于角色的访问控制

InfoQ有幸采访了Microsoft执行副总裁Scott Guthrie&#xff0c;请他谈了谈Azure以及他最近的Red Shirt Dev Tours&#xff08;红杉开发之旅&#xff09;【译注1】。昨天我们谈到了Azure提供了自定义仪表盘的功能&#xff0c;它能够使得开发者创建自定义工作任务流程&#xff0c…

什么时候才能都及格呢?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。今天是周五&#xff0c;又到了周测的时候了&#xff0c;发现现在考试&#xff0c;学生们的抵触情绪不会那么强烈了&#xff0c;以前只要一说啥时啥时考试&#xff0c;下面一片哀嚎声&#xff0c;各种不…

解决Visual Studio For Mac Restore失败的问题

之前就了解到微软出了mac版的VS&#xff0c;没太多的关注&#xff0c;自己也就是使用 DotNet Core SDK VS Code 做一些小demo。 前两天发布了DotNet Core 2.0 &#xff0c;Visual Studio For Mac 7.1 之后&#xff0c;感觉可以装起来用用&#xff0c;把win下面的项目转到Core…

来之不易的美团面试,结果居然挂了...(附面试答案)

转载自 来之不易的美团面试&#xff0c;结果居然挂了...&#xff08;附面试答案&#xff09; 一面 自我介绍 答&#xff1a;自我介绍是面试中唯一的自己主动介绍自己的环节&#xff0c;一定要好好把握好&#xff0c;你数据结构学的号可以手撕一个红黑树你就说我数据结构掌握…

三班的孩子们,你们现在还好吗?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。三班的孩子们&#xff0c;你们还好吗&#xff1f;虽然已经就业&#xff0c;但还是会时不时的想起你们来&#xff0c;希望你们过的一切都好&#xff0c;在公司中也能快速适应。上午拿着电脑准备去四班上…