创建第一个Windows Phone应用程序 (2)

移动开发
本篇内容讲述的是在Windows Phone中为应用程序增加图形、按钮、简单动画,微软Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与富交互的网络交互程序。

Windows Phone基本的应用程序的开发,内容如下。本篇文章是在上一篇创建***个Windows Phone应用程序 (1)的基础上为应用程序增加图形、按钮、简单动画。

添加图形

在SilverLight中,可以使用Shape类添加图形,可以创建简单的形状,例如长方形或者更复杂的形状,例如多边形。在SilverLight中Brushes用来涂色或绘制图形。

在TextBlock外围添加一个StackPanel,Panel是一个容器,用来组合和处理UI元素布局。每个应用程序至少有一个Panel,StackPanel中顺序放置界面元素,根据方向不同的需要,可设置水平或垂直。而Grid和Canvas可用来更精准的元素定位。

我们将创建一个椭圆形状,在StackPanel中显示在TextBlock后面,可以指定椭圆的高度(Height)和宽度(Width)属性以及填充颜色,为了填充椭圆,必须指定Brush绘制椭圆颜色。

这次我们不在使用Design View,我们在XAML视图中实现。

1、双击MainPage.xaml,找到我们之前添加的TextBlock。

2、用下面内容替换

XAML

  1. <StackPanel> 
  2. <TextBlock FontSize="50" Text="Hello, World!" /> 
  3. <Ellipse Fill="Blue" Height="150" Width="300" 
  4. Name="FirstEllipse" /> 
  5. </StackPanel> 

3.按F5运行应用程序

运行结果如下所示,但是目前我们的程序没有任何的交互,下面我们增加交互功能。

4. 停止调试

添加按钮

下面我们将给应用程序添加Button,控件是在SilverLight应用程序中创建用户交互的一种方式,SilverLight有丰富的控件库,包括Button、TextBox、ListBox等。

有两步添加Button,***步是在XAML中添加Button元素,第二步是添加一些用户交互的事件处理逻辑,例如单击Button。

1、在XAML中,在我们前面添加的Ellipse元素的后面添加下面内容

  1. XAML  
  2. <Button Height="150" 
  3. Width="300" 
  4. Name="FirstButton" 
  5. Content="Tap" /> 

Name属性设置了Button的名称为FirstButton,以便于我们可以在代码中使用该Button,Content属性指定了Button显示的文本。Height和width指定了按钮的高度和宽度。

Silverlight是事件驱动的应用程序模型,当应用程序中某些事件发生,例如单击按钮或者应用程序启动,一个事件会被触发。我们可以添加事件处理的代码,完成当事件发生时要处理的动作。我们可以给Button添加单击(Click)按钮的事件处理。

2、 在Design View中,选择Button。

3、 在Properties window中,单击Events,列出了Button的所有事件。

4、 双击Click事件,打开代码文件MainPage.xaml.cs,我们可以看到FirstButton_Click事件处理方法

5、 在FirstButton_Click增加下面代码

  1. private void FirstButton_Click(object sender, RoutedEventArgs e)  
  2. {  
  3. if (FirstButton.Content as string == "Tap")  
  4. {  
  5. FirstButton.Content = "Tap Again";  
  6. }  
  7. else  
  8. {  
  9. FirstButton.Content = "Tap";  
  10. }  

当单击Button,按钮显示的内容在”Tap”和”Tap Again”切换。

在XAML中的Button元素中,可以看到增加了Click属性。

  1. <StackPanel> 
  2. <TextBlock FontSize="50" Text="Hello, World!" /> 
  3. <Ellipse Fill="Blue" Height="150" Width="300" 
  4. Name="FirstEllipse" /> 
  5. <Button Height="150" 
  6. Width="300" 
  7. Content="Tap" 
  8. Name="FirstButton" 
  9. Click="FirstButton_Click" /> 
  10. </StackPanel> 

 

6、按F5运行,单击按钮可以看到运行效果。

添加动画
 
接下来我们为应用程序增加动画,我们可以为前面的椭圆增加挤压然后再拉长的简单的动画。

创建一个动画(Animation)需要做3件事情,创建StoryBoard,创建动画,添加代码执行动画。

StoryBoard是一个容器,用来组装动画,通过StoryBoard,可以开始和停止动画。

Silverlight通过在一定的时间跨度内改变对象的属性值实现动画效果,StoryBoard.TargetName和StoryBoard.TargetProperty分别指定了哪个对象、对象的哪个属性应用动画。To属性指定了动画运动所到达的值,AutoReverse属性指定了动画结束时是否重复运行,Duration属性指定了动画执行的时长,例如:如果想让动画运行1秒,可以使把Duration设置为”00:00:01”。

1、在Solution Explore,双击MainPage.xaml。

2、在XAML view,用下面的代码替换StackPanel

XAML

  1. <StackPanel> 
  2. <StackPanel.Resources> 
  3. <Storyboard x:Name="FirstStoryBoard"> 
  4. <DoubleAnimation Storyboard.TargetName="FirstEllipse" 
  5. Storyboard.TargetProperty="Width" 
  6. To="1" AutoReverse="True" 
  7. Duration="00:00:01" /> 
  8. </Storyboard> 
  9. </StackPanel.Resources> 
  10. <TextBlock FontSize="50" Text="Hello, World!" /> 
  11. <Ellipse Fill="Blue" Height="150" Width="300" 
  12. Name="FirstEllipse" /> 
  13. <Button Height="150" 
  14. Width="300" 
  15. Name="FirstButton" 
  16. Content="Click" 
  17. Click="FirstButton_Click" /> 
  18. </StackPanel> 


 

3、MainPage.xaml.cs中,增加调用动画Begin方法,当单击按钮时执行FirstStoryBoard动画。

  1. private void FirstButton_Click(object sender, RoutedEventArgs e)  
  2. {  
  3. if (FirstButton.Content as string == "Tap")  
  4. {  
  5. FirstButton.Content = "Tap Again" 
  6. }  
  7. else  
  8. {  
  9. FirstButton.Content = "Tap";  
  10. }  
  11. FirstStoryBoard.Begin();  

4.按F5运行应用程序,可以看到椭圆简单的动画效果。

【编辑推荐】

升级Windows Phone 开发环境

Windows Phone 7开发环境搭建

移动应用程序开发应考虑的八大安全问题

创建***个Windows Phone应用程序 (1)

Mango四大改进 新版Windows Phone 7详解

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-08 10:01:36

Windows Pho 应用程序

2023-05-19 08:49:58

SQLAlchemy数据库

2013-01-11 14:45:43

iOS开发移动应用iPhone

2013-06-14 17:16:44

WP开发Windows PhoWP应用

2011-03-15 19:45:27

Windows Azu

2011-05-11 10:58:39

iOS

2011-02-22 17:33:36

Windows Pho

2011-06-14 15:32:26

Android视频教程

2012-05-25 15:20:38

XNA

2014-09-10 13:53:29

Windows Pho应用程序开发指南

2011-04-02 10:08:21

webOS开发应用程序

2010-08-13 13:05:30

Flex应用程序

2013-07-30 13:38:27

Windows PhoWindows Pho

2013-07-31 14:50:32

Windows PhoWP应用程序生命周期

2012-03-15 21:34:06

Windows8

2021-04-03 12:31:48

Python开发数据科学

2009-06-25 15:11:28

Struts2教程Struts2程序

2011-06-24 13:38:32

QT 编译 安装

2010-11-03 15:10:04

SilverlightSilverlightWindows Pho

2011-10-25 10:24:03

Windows Pho
点赞
收藏

51CTO技术栈公众号