跟互联力量学Silverlight之三_XAML属性和事件
2010-07-02 09:06
225 查看
本节内容是互联力量Silverlight学习内容的第三篇,通过案例讲述XAML语言 的属性和事件的特点。案例的界面包括:Grid(Silverlight最常用的布局工具),两个TextBox和一个Button。你准备好了吗,我接 下来开始讲述,首先请你打开MainPage.xaml(如何创建和编译Silverlight参考什么是Silverlight和Silverlight XAML是什么)。
单一属性:
先从TextBox的编写开始,TextBox的名字是txtQuestion,表示用来显示问题,同时需要设置它的水平和垂直对齐,字体,字大小,字颜 色,编写如下:<TextBox x:Name=”txtQuestion” VerticalAlignment=”Stretch” HorizontalAlignment=”Stretch” FontFamily=”Verdana” FontSize=”24″ Foreground=”Green” />
需要说明的是XAML语言区分大小写,你不能这样写 fontsize,应该是FontSize,属性的值不用大小写Foreground=”green”和”Green”是一样的。
复合属性:
TextBox用到的都是单一属性(Simple Properties),下面看看复合属性(Complex Properties),什么是复合属性呢,其实通俗的说类似元素嵌套的关系,一个XAML元素比如Grid,可以用子元素的方式嵌套包含属性,我先定义 Grid的背景属性,然后包含包含LinearGradientBrush对象,如下:
查看代码
XAML属性和事件-图1
你如果细心,可以看到Background作为Grid的属性,使用的时候要带个“.”号,LinearGradientBrush
对象的使用并不是这样简单,需要接着定义 LinearGradientBrush对象自己的属性,当然也是复合属性,继续如下:
查看代码
XAML属性和事件-图二
GradientStops 是个集合,包括多个GradientStop对象,所以需要继续包含三个GradientStop对象,定义渐变用到的三种颜色和每种颜色的位置,继续如 下:
查看代码
XAML属性和事件-图三
这是三色的渐变效果,按三等份的比例显示每种颜色
其实也可以使 用C#代码方式实现同样的效果:
附属属性
在 Silverlight,附属属性常见控件的布局上。附属属性如何使用呢,比如textbox控件需要放在页面中具体的位置,这时可以把Grid作为容 器,以table的方式呈现布局外观,Textbox则定位在Grid的单元格上,这时需要用到附属属性,附属属性的格式通常是父元素.属性名,如 Grid.Row=0,是说控件在Grid的第一行的位置。下面的代码,确定了三种控件在Grid中三行一列的显示效果。
<TextBox Grid.Row=”0″> </TextBox>
<Button Grid.Row=”1″> </Button>
<TextBox Grid.Row=”2″> </TextBox>
事件
事件的使用类 似asp.net,如按钮的点击事件,你可以直接双击按钮,通过属性面板,也可以编写:<Button … Click=”cmdAnswer_Click”>
事件的处理方法是:
因为本节的重点是XAML的相关内容,事件的处理逻辑 并不重要,只用知道如何调用事件方法。
完整的XAML代码:
查看代码
XAML属性和事件-图四
整个运行的效果:
silverlight运行结果
注:手动编写XAML,是很繁琐的事情,可以借用工具 来生成外观,但是在初学语言的时候,还是手动的编写来熟悉。
版权所有 互联力量,原文出自:http://www.foxitjob.com/2010/06/293.html
单一属性:
先从TextBox的编写开始,TextBox的名字是txtQuestion,表示用来显示问题,同时需要设置它的水平和垂直对齐,字体,字大小,字颜 色,编写如下:<TextBox x:Name=”txtQuestion” VerticalAlignment=”Stretch” HorizontalAlignment=”Stretch” FontFamily=”Verdana” FontSize=”24″ Foreground=”Green” />
需要说明的是XAML语言区分大小写,你不能这样写 fontsize,应该是FontSize,属性的值不用大小写Foreground=”green”和”Green”是一样的。
复合属性:
TextBox用到的都是单一属性(Simple Properties),下面看看复合属性(Complex Properties),什么是复合属性呢,其实通俗的说类似元素嵌套的关系,一个XAML元素比如Grid,可以用子元素的方式嵌套包含属性,我先定义 Grid的背景属性,然后包含包含LinearGradientBrush对象,如下:
查看代码
XAML属性和事件-图1
你如果细心,可以看到Background作为Grid的属性,使用的时候要带个“.”号,LinearGradientBrush
对象的使用并不是这样简单,需要接着定义 LinearGradientBrush对象自己的属性,当然也是复合属性,继续如下:
查看代码
XAML属性和事件-图二
GradientStops 是个集合,包括多个GradientStop对象,所以需要继续包含三个GradientStop对象,定义渐变用到的三种颜色和每种颜色的位置,继续如 下:
查看代码
XAML属性和事件-图三
这是三色的渐变效果,按三等份的比例显示每种颜色
其实也可以使 用C#代码方式实现同样的效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | LinearGradientBrush brush = new LinearGradientBrush(); GradientStop gradientStop1 = new GradientStop(); gradientStop1.Offset = 0; gradientStop1.Color = Colors.Yellow; brush.GradientStops.Add(gradientStop1); GradientStop gradientStop2 = new GradientStop(); gradientStop2.Offset = 0.5; gradientStop2.Color = Colors.White; brush.GradientStops.Add(gradientStop2); GradientStop gradientStop3 = new GradientStop(); gradientStop3.Offset = 1; gradientStop3.Color = Colors.Purple; brush.GradientStops.Add(gradientStop3); grid1.Background = brush; |
在 Silverlight,附属属性常见控件的布局上。附属属性如何使用呢,比如textbox控件需要放在页面中具体的位置,这时可以把Grid作为容 器,以table的方式呈现布局外观,Textbox则定位在Grid的单元格上,这时需要用到附属属性,附属属性的格式通常是父元素.属性名,如 Grid.Row=0,是说控件在Grid的第一行的位置。下面的代码,确定了三种控件在Grid中三行一列的显示效果。
<TextBox Grid.Row=”0″> </TextBox>
<Button Grid.Row=”1″> </Button>
<TextBox Grid.Row=”2″> </TextBox>
事件
事件的使用类 似asp.net,如按钮的点击事件,你可以直接双击按钮,通过属性面板,也可以编写:<Button … Click=”cmdAnswer_Click”>
事件的处理方法是:
1 2 3 4 | private void cmdAnswer_Click(object sender, RoutedEventArgs e) { txtAnswer.Text = "Weclome to Foxitjob.com"; } |
完整的XAML代码:
查看代码
XAML属性和事件-图四
整个运行的效果:
silverlight运行结果
注:手动编写XAML,是很繁琐的事情,可以借用工具 来生成外观,但是在初学语言的时候,还是手动的编写来熟悉。
版权所有 互联力量,原文出自:http://www.foxitjob.com/2010/06/293.html
相关文章推荐
- 跟互联力量学Silverlight之三_XAML属性和事件
- 跟互联力量学Silverlight之四:XAML资源的用法
- 跟互联力量学Silverlight之五_XAML的单向和双向绑定
- 跟互联力量学Silverlight之四:XAML资源的用法
- 跟互联力量学Silverlight之五_XAML的单向和双向绑定
- 跟互联力量学Silverlight之七_StackPanel控件和布局属性用法
- 跟互联力量学Silverlight之七_StackPanel控件和布局属性用法
- XAML概要--属性和事件绑定
- WPF and Silverlight 学习笔记(十三):依赖项属性和路由事件
- Silverlight实例教程 - Validation数据验证基础属性和事件
- Silverlight实例教程 - Validation数据验证基础属性和事件(转载)
- 跟互联力量学Silverlight之十_如何完整安装Silverlight 4中文版
- XAML概要--属性和事件绑定
- Silverlight实例教程 - Validation数据验证基础属性和事件
- XAML概要--属性和事件绑定
- Silverlight实例教程 - Validation数据验证基础属性和事件
- WPF and Silverlight 学习笔记(十三):依赖项属性和路由事件
- WPF快速入门1-XAML(window、Page、Application、属性、附加属性、特殊字符、保留空白、事件)
- 跟互联力量学Silverlight之六_Panel和Border控件用法
- WPF and Silverlight 学习笔记(十三):依赖项属性和路由事件