tnblog
首页
视频
资源
登录

Xamarin.Forms UI 与 XAML的简单应用(一)

5737人阅读 2022/4/1 15:54 总访问:3475843 评论:0 收藏:0 手机
分类: Xamarin

Xamarin.Forms UI 与 XAML的简单应用(一)

XAML简介


XAML代表可扩展应用程序标记语言,你可以以声明式定义到你的用户界面中,它与XML非常相似,但是功能比XML更多。

XAML功能


例如它能很好的适应到MVVM框架中,让你能够在用户界面中使用控件进行绑定和命令。
它还为你提供了出色的用户视觉体验。你可以知道哪些控件在下面,哪些控件绑定了哪些其他属性,这是查看UI是如何构建的。
并且它是可工具化的非常好的方法,热重载(Hot Reload)与Xaml及时预览(XAML Previewer),可以让你在构建时查看它,而不需要在开发时重新编译你的应用程序。

项目列表与材料


创建一个名为FirstApp的Xamarin.Forms项目。
添加一张Xamarin图片到/Resources/drawable文件夹下面。

修改MainPage.xaml

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  4. x:Class="FirstApp.MainPage">
  5. <!--创建一个画布-->
  6. <Grid>
  7. <!--行占4份-->
  8. <Grid.RowDefinitions>
  9. <!-- Height 行高 -->
  10. <RowDefinition Height="*"/>
  11. <RowDefinition Height="*"/>
  12. <RowDefinition Height="*"/>
  13. <RowDefinition Height="*"/>
  14. </Grid.RowDefinitions>
  15. <!--列占2份-->
  16. <Grid.ColumnDefinitions>
  17. <!-- Width 列宽 -->
  18. <ColumnDefinition Width="*"/>
  19. <ColumnDefinition Width="*"/>
  20. </Grid.ColumnDefinitions>
  21. <!--添加一个图片元素-->
  22. <!--
  23. BackgroundColor:背景颜色(深蓝色)
  24. Grid.Row:图片占的哪一行
  25. Grid.Column:图片占的哪一列
  26. Grid.ColumnSpan:按照列占领几个(1个或2个)
  27. -->
  28. <Image Source="" BackgroundColor="PowderBlue"
  29. Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" />
  30. </Grid>
  31. </ContentPage>

  1. <!--添加一个编辑器-->
  2. <!--
  3. Placeholder:默认显示文本。
  4. -->
  5. <Editor Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Placeholder="Enter Note Here" />

  1. <!--添加两个按钮-->
  2. <!--
  3. Text:文本内容
  4. -->
  5. <Button Grid.Row="2" Grid.Column="0" Text="Save" />
  6. <Button Grid.Row="2" Grid.Column="1" Text="Erase" />
  7. <!--添加一个标签-->
  8. <!--
  9. FontSize:字体大小
  10. -->
  11. <Label Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Text="Cool!" FontSize="Large" />


调整行高

  1. <!--行占4份-->
  2. <Grid.RowDefinitions>
  3. <!-- Height 行高 -->
  4. <RowDefinition Height="*"/>
  5. <RowDefinition Height="2*"/>
  6. <RowDefinition Height=".5*"/>
  7. <RowDefinition Height="2*"/>
  8. </Grid.RowDefinitions>
  9. <!--添加图片源-->
  10. <Image Source="logo_xamarin" BackgroundColor="PowderBlue"
  11. Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" />


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

分布式服务架构微服务架构概念的区别联系

分布式:分散压力。微服务:分散能力。当下理解分布式:不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题集...

jsController中分割字符串的方法

js: varstr=OpenRule; varstrs=newArray(); strs=str.split(&quot;,&quot;); for(vari=0;i&lt;strs.length;i++){ $(&q...

Service-stack.redis配置连接池读写分离(处理并发相关等)

配置连接池与读写分类 //写节点(主节点) List&lt;string&gt;writes=newList&lt;string&gt;(); writes.Add(&quot;123456a...

CSS相对定位绝对定位

一般相对定位和绝对定位可以配合起来使用 例如实现如下的效果 只需要在外层div设置为相对定位,在内部设置为绝对定位就...

C委托事件

1.什么是委托?  委托在C#里的意义和在现实里差不多,从字面意思理解即可。举个例子:领导委托小张去传递个文件,这就是...

asp.net core2.0 依赖注入 AddTransientAddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

Vue.js+Layer实现表格数据绑定更新

一:使用Vue.js绑定好数据与更新事件 使用v-on绑定好事件,在事件里边直接把该行数据传递进去,在更新方法里边就可以直接...

下划线、换行、回车、空格ASCII码值对照表

下划线,ASCII码95换行 , ASCII码10回车 , ASCII码13空格 , ASCII码32ASCII码表:Bin(二进制)Oct(八进制)Dec(十进制)Hex(...

数据读取器指定的"xx"不兼容。某个类型为"xx"的成员在同名的数据读取器中没有对应的列

报错的地方var result= _db.Database.SqlQuery&lt;SMachine&gt;(sql).FirstOrDefault();经过分析,是因为SqlQuery方法查询...

git 下载提交命令

一.先使用git clone下载一个项目 git clone &#39;项目地址&#39; 这里要注意: clone的项目里边会自带git的一些信息,...

微信开发四 接受用户普通消息回复消息

微信接收用户普通消息的文章可以在官方中直接看微信普通消息分类:接受用户文本消息 与 回复文本信息 注意在接收用户普通...

记忆糖的关系【阅读听力】

Link Between Memory and SugarSugar On The BrainIt’s long been understood that there is a connection between memory...

婚姻心脏健康的关系【阅读听力】

Marriage and Heart HealthPlenty of studies have found that being married is generally good for health. One study ze...

iframe自适应高度配合net core使用

去掉iframe边框frameborder=&quot;0&quot;去掉滚动条scrolling=&quot;no&quot;iframe 自适应高度如果内容是固定的,那么就...

net core中使用url编码解码操作

net core中暂时还没有以前asp.net与mvc中的server对象。获取url的编码与解码操作不能使用以前的server对象来获取。使用的是...

Sqlerver添加用户授权

添加用户安全性--&gt;登录名,然后右键新建登录名就可以了然后填写好相关信息就可以了右键属性,用户映射可以选择该用户可...
这一世以无限游戏为使命!
排名
2
文章
636
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术