XAML与HTML不同的地方

XAML与HTML一样都是XML的一种,熟悉HTML之后很容易掌握XAML的用法,这里仅说明XAML与HTML不同的地方
1.XAML区分大小写
无论是元素名称还是元素属性,XAML都是区分大小写的,如:
<StackPanel Height="300"></StackPanel>
写成
<stackpanel height="300"></stackpanel>
是错误的,XAML解析器讲按错误处理,而不是警告!
2.XAML支持使用属性元素语法来为元素属性赋值
这句话看起来有点绕口,先让我们看看HTML怎么为一个元素属性赋值,如:
<table id="demoTable" width="800"></table>
这种方式成为使用属性语法来设置属性值,那XAML支持的属性元素语法是什么样的呢,如:
<Rectangle Name="demoRect">
<Rectangle.Height>800</Rectangle.Height>
</Rectangle>
这种为属性赋值的方式不是采用在元素里面直接设置,而是在元素里面添加了一个新的子元素,子元素的名称的格式为“元素.属性”,元素值采用内容语法设置
3.元素属性可能出现命名空间前缀
在Silverlight中,非FrameworkElement命名空间下面的类不具有Name属性,例如动画Storyboard,但是在XAML里面定义了动画而没有标示后台代码怎么引用呢,为了剞劂这个问题,XAML采用命名空间前缀的方式解决了这个问题,如:
<StackPanel.Resources>
<Storyboard x:Name="a">
                      
</Storyboard>
</StackPanel.Resources>
这里用了前缀x(默认的前缀,根据定义)设置了Name属性,这样后台代码就可以引用并进行处理了,x:Name与Name的功效相同,欲知更多关于XAML命名空间的内容,请查阅Silverlight文档
4.可以为XAML元素属性动态赋值
默认情况下,XML为元素属性赋值使用简单类型,如String,Int等,然而XAML可以使用类似变量的方式为属性赋值,变量要用大括号来标识,如:
<Canvas.Resources>
<Style TargetType="Border" x:Key="DemoStyle">
<Setter Property="BorderBrush" Value="Red" />
</Style>
</Sanvas.Resoutce>
用法:
<Border Style="{StaticResources DemoStyle}">……</Border>
上面预先定义了名为DemoStyle的样式,下面Border元素使用了这个样式,注意,使用时前面要加上StaticResources标识,标识引用了前面定义的静态资源
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值