XAML使用
来源:互联网 发布:新版手机淘宝开店 编辑:程序博客网 时间:2024/05/29 02:12
声明对象
在XAML中,有以下几种方式声明对象和设置它们的属性:
Object element syntax: 使用开放的和封闭的标签来声明对象,就像XML一样。你可以使用这种方法来声明根元素和设置它们的属性值。
Attribute syntax: 使用内嵌来声明对象。你可以使用这种方法来设置一个属性的值。
Object element syntax
一种典型的使用Object element syntax来声明对象的方法。.首先你要创建两个XML元素标签:
</objectName>
... objectName 是你想要实例化的对象的名字。下面的例子使用Object element syntax声明一个Canvas。
</Canvas>
一些对象, 比如Canvas, 可以包含其他对象。.
<Rectangle>
</Rectangle>
</Canvas>
为了方便,如果一个对象里不包含其他对象,那么可以只使用一个标签来描述它
<Rectangle />
</Canvas>
使用Attribute syntax声明对象
见下一部分, 设置属性, 获得更多有关attribute syntax的信息。
设置属性
使用 object element syntax,你可以在声明对象的时候设置它的属性. 在XAML中,有几种方法可以设置属性: 使用 attribute syntax, 或使用 property element syntax.
通过Attribute syntax设置属性
<object Nameproperty="propertyValue">
</objectName>
... property 是属性名称,你会将propertyValue 的值赋到它的身上。 下面的例子展示了如何使用attribute syntax 来设置一个Rectangle的Width, Height, 和 Fill .
<Rectangle
Width="100"Height="100"Fill="Blue" />
</Canvas>
使用 Property Element Syntax设置属性
一些属性可以通过property element syntax来设置. 你通过创建XML elements来描述你想要的属性, 例如:
<objectName>
<objectName.property>
<propertyValue ... />
</objectName.property>
</objectName>
... property 是属性名称,你会将propertyValue 的值赋到它的身上. 下面的例子展示了如何使用 property element syntax 来设置一个Rectangle的Fill ,使用a SolidColorBrush.
<Rectangle
Width="100"
Height="100">
<Rectangle.Fill>
<SolidColorBrush />
</Rectangle.Fill>
</Rectangle>
</Canvas>
使用 Content Element Syntax设置属性
有时候,当一个属性支持element syntax,你可以忽略属性名,直接将属性值内嵌在对象标签里。这就是content element syntax. 下面的例子展示了怎样不指定 Text 属性,设置TextBlock的 Text 属性值 。
Hello!
</TextBlock>
使用 Implicit Collection Syntax设置属性
有时候, 一个属性表现为一个集合, 你可以忽略集合名字,直接设置属性值。这就是implicit collection syntax.。下面的例子展示了对于LinearGradientBrush 如何忽略GradientStopCollection ,以及直接指定 GradientStop 对象。 GradientStopCollection 包含在第一个LinearGradientBrush中,,但在第二个里被忽略了。
Canvas.Left="0" Canvas.Top="30">
<Rectangle.Fill>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<!-- Here the GradientStopCollection tag is specified. -->
<GradientStopCollection>
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="100" Height="100"
Canvas.Left="100" Canvas.Top="30">
<Rectangle.Fill>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<!-- Notice that the GradientStopCollection tag
is omitted. -->
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
有时你甚至可以同时忽略集合元素标签和属性元素标签:
Canvas.Left="200" Canvas.Top="30">
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
什么时候使用Attribute或Property Element Syntax设置属性
所有属性都支持attribute 或property element syntax, 一些属性支持其他方法. 设置属性所支持的方法取决于属性值所认可的对象类型。.
如果属性值是简单类型, 比如 Double, Integer,String, 这种属性只支持 attribute syntax . 下面的例子展示了如何使用 attribute syntax 设置Rectangle的Width.Width属性支持Attribute syntax,因为他的属性值是Double类型。
是否可以使用attribute syntax取决于你使用于设置属性的对象是否支持attribute syntax.下面的例子展示了使用 attribute syntax 设置一个Rectangle的 Fill属性。在你使用SolidColorBrush去设置Fill属性的时候,它是支持attribute syntax的,因为SolidColorBrush支持attribute syntax.
是否能够使用element syntax 设置属性取决于你使用的对象是否支持。如果对象支持object element syntax,属性才支持property element syntax 。下面的例子展示了使用property element syntax 设置一个Rectangle的Fill.当你使用SolidColrBrush设置Fill的时候,它是支持attribute syntax的,因为SolidColorBrush支持attribute syntax 。
<Rectangle.Fill>
<SolidColorBrush />
</Rectangle.Fill>
</Rectangle>
- XAML使用
- 使用XAML创建按钮
- XamlReader动态使用xaml
- XAMl使用总结
- 使用Silverlight2dataGrid例子(完整XAML)
- 使用XAML创建自定义图形
- xaml中VisualState的使用
- XAML中AppBar的使用
- Xaml中使用Unicode字符
- xaml中contentpresenter使用备忘
- XAML
- XAML
- XAML
- XAML
- XAML
- XAML
- XAML
- Xamarin XAML语言教程使用Visual Studio创建XAML
- 为什么人生气时说话用喊的?
- 批处理编程
- Spring AOP(暂)
- asp跳转大汇总
- 这辈子我把你交给了别人,下辈子把你交给我好吗?
- XAML使用
- PHP NOTICE:Undefined xxx:....解决方法
- 【Android】Activity全屏设置
- [转载]Activity中ConfigChanges属性的用法
- C# 通过Google Map获取给定地名的经纬度值
- 终于解决了的Radio问题
- APACHE通过URL重写伪静态 【转】
- 进制转化
- sql删除表