功能需求分析:

1.  为到达学院的新生指路,给出所有路线,并给出必要提示;

2.  对学院建筑进行介绍;

3.  对学院周边环境(交通、购物、银行等)进行介绍;

4.  必要的应用设置

总体设计:

采用全景视图,分为四页对各项功能依次实现。

下面就向大家大概介绍一下具体的实现过程,之中可能会掺杂着我自己的一些实际体会。

一.              首先建立在Visual Studio 2012或者Visual Studio Express 2012中新建一个Windows phone全景应用程序,名称改为StudentAssistant,不要用汉语名称,这样工程中的名称空间都会是这个名字,虽然不影响开发,但最终是发布不到应用商店里的,所以不要给自己找麻烦。之后选择你所开发应用所要应用的平台,我们选择Windows phone OS 8.0。

二.

我们的首页效果是这样的。

  1. 首先更改全景视图的背景图片

右击工程名 StudentAssistant->添加->新建文件夹,名称改为Images,右击Images->添加->现有项,添加你需要的图片到此文件夹,更改图片名为BackGround.jpg,以后所有图片均类似添加,不在重复叙述。

将MainPage.xaml中

<phone:Panorama.Background>
<ImageBrush ImageSource="/PanoramaApp1;component/Assets/PanoramaBackground.png"/>
</phone:Panorama.Background>

更改为

 <phone:Panorama.Background>
<ImageBrush ImageSource="/StudentAssistant;component/Assets/PanoramaBackground.png"/>
</phone:Panorama.Background>

也就是将ImageSource更改为你所要应用的图片的位置。

  1. 个性化标题

删去

Title="我的应用程序"

在添加背景图片代码的下方添加:

            <phone:Panorama.Title>
<Image Margin="-70,40,0,-35" Height="" Source="/Images/Title.png"/>
</phone:Panorama.Title>

你就可以将自己设计的任何个性化的标题(实际上是自己Ps的图片)作为自己的应用标题,想怎么个性就怎么个性,Margin的参数根据需要自己调整,不再多说。

下面就正式进入功能设计

删去项目一中我们不需要的代码

 <!--具有文字环绕的单行列表-->
<phone:LongListSelector Margin="0,0,-22,0" ItemsSource="{Binding Items}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,-6,0,12">
<TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeExtraLarge}"/>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

无用代码

在项目一中添加如下代码

                <ScrollViewer  Margin="0,-35,12,0" ScrollViewer.VerticalScrollBarVisibility="Auto" >
<ScrollViewer.Content>
<StackPanel VerticalAlignment="Top" Orientation="Vertical" > <Image x:Name="TritangleDown" Visibility="Collapsed" Source="/Images/Map/下向箭头.png"/>
<Image x:Name="TritangleRight" Visibility="Collapsed" Source="/Images/Map/右向箭头.png"/> <Button x:Name="ButtonDaLian" Margin="0,0,0,10" BorderThickness="0" Height="75" Width="389" Click="ButtonDaLian_Click">
<Grid Width="390" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="75"/>
<ColumnDefinition/>
<ColumnDefinition Width="43"/>
</Grid.ColumnDefinitions>
<Image HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Source="/Images/Map/火车.png" Margin="0"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="1" Foreground="White" Text="大连火车站" FontSize="45" Margin="10,0,0,0"/>
<Image x:Name="ImageDaLian" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="2" Width="35" Source="/Images/Map/右向箭头.png"/>
</Grid>
</Button> <Button Visibility="Collapsed" x:Name="BDTaxi" BorderThickness="0" Width="389">
<TextBlock HorizontalAlignment="Left" FontSize="35" Text=" 出租车" Width="389"/>
</Button>
</StackPanel>
</ScrollViewer.Content>
</ScrollViewer>

在后台代码MainPage.xaml.cs

public partial class MainPage : PhoneApplicationPage

中添加一个bool变量IsTouch,设为false,此变量是用来判断button是否被点击,从而使button做出不同的反应。此处button不点击右侧的箭头指向右,点击后箭头指向下,同时BDTaxi的可见性由不可见变为可见。

再处理ButtonDaLian的Click事件

  private void ButtonDaLian_Click(object sender, RoutedEventArgs e)
{
if (IsTouch == false)
{
IsTouch = true;
BDTaxi.Visibility = Visibility.Visible;
ImageDaLian.Source = TritangleDown.Source;
}
else
{
IsTouch = false;
BDTaxi.Visibility = Visibility.Collapsed;
ImageDaLian.Source = TritangleRight.Source;
}
}

到此为止,首页的基本效果就做出来了。

总结一下:我们通过将应用标题替换成图片个性化了标题,构造了一个复合button,左边用来显示与button功能有关的图片,右边的箭头可以通过button的是否点击显示不同的箭头方向(实际上是两张不同的图片)。大家可以去Windows phone 的商店里搜索新生助手去下载一下体验一下这个应用的设计,功能估计大家用不上。http://www.windowsphone.com/zh-cn/store/app/%E6%96%B0%E7%94%9F%E5%8A%A9%E6%89%8B/d2f242a9-968c-4e7a-9b7c-1bef203c6d24

实际的应用还用blend处理了button的点击效果,边界大小等等,这里不再赘述,有兴趣的可以自学一下。

下一讲将向大家介绍新生助手应用中用到的storyboard和动态磁帖设计,通过它们可以制作一些很好的动画效果。

[windows phone开发]新生助手的开发过程与体会一的更多相关文章

  1. [windows phone开发]新生助手的开发过程与体会二

    上一讲咱们谈了新生助手主页的基本的设计,今天我们谈一谈关于展现实景地图时等动画的设计,即Storyboard的应用. 在Windows phone中,Storyboard类表示通过时间线控制动画,并为 ...

  2. [windows phone开发]新生助手的开发过程与体会三

    由于网络原因,新生助手开发介绍的博客近期一直没有更新,请大家见谅.今天向大家介绍一下新生助手中动态磁帖的实现. 在PhoneApplicationPage中添加如下引用 xmlns:toolkit=& ...

  3. Windows Service 开发,安装与调试

    Visual Studio.net 2010 Windows Service 开发,安装与调试 本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例,讲述一个Windows Servic ...

  4. windows原生开发之界面疑云

        windows桌面开发,界面始终是最大的困惑.我们对前端工具的要求,其实只有窗体设计器.消息映射,过分点的话自适应屏幕.模型绑定.能够免于手工书写,其实这个问题并不复杂,但VS不实现.QT语法 ...

  5. Windows Phone开发(15):资源

    原文:Windows Phone开发(15):资源 活字印刷术是我国"四大发明"之一,毕昇在发明活字印刷术之后,他很快发现一个问题,随着要印刷资料的不断增加,要用到的汉字数目越来越 ...

  6. windows 驱动开发入门——驱动中的数据结构

    最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...

  7. Kinect for Windows SDK开发学习相关资源

    Kinect for Windows SDK(K4W)将Kinect的体感操作带到了平常的应用学习中,提供了一种不同于传统的鼠标,键盘及触摸的无接触的交互方式,在某种程度上实现了自然交互界面的理想,即 ...

  8. Erlang在Windows上开发环境搭建全过程讲解目录

    我会按照下面的列表来一步一步讲解,在windows来开发Erlang所用到的一些工具,和知识.我会不停的添加和修正. Erlang运行时环境 Erlang开发工具选择 Rebar来构建,编译,测试,发 ...

  9. Windows驱动开发(中间层)

    Windows驱动开发 一.前言 依据<Windows内核安全与驱动开发>及MSDN等网络质料进行学习开发. 二.初步环境 1.下载安装WDK7.1.0(WinDDK\7600.16385 ...

随机推荐

  1. 快速排序算法-C语言实现

    注:本篇内容为翻译,之所以选择这篇进行翻译原因是该文章含有动画,能够更加直观地展示快速排序.同时,可以仔细看一下代码,代码中把结构化的思想给予了更加充分地表现.按照功能进行模块划分的思想得到了彻底地贯 ...

  2. IOS开发之路三(XML解析之KissXML的使用)

    最近再做一个项目需要用到xml的解析.今天查了一些资料自己做了一个小demo.纯OC没有界面.. 在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用 ...

  3. hadoop2 作业执行过程之yarn调度执行

    YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度(目前还不完善,只支持粗粒度的CPU和内存的的调配): 它的基本思想是将Mapreduce的jobtracker ...

  4. .net重启iis线程池和iis站点程序代码分享

    重启站点: /// <summary> /// 根据名字重启站点.(没重启线程池) /// </summary> /// <param name="sitena ...

  5. 【Mood-12】Android开发相关书籍推荐

    新年伊始,找到Android进阶干货若干,2015拜读. 1.Android应用UI设计模式 目前,谷歌Android操作系统在移动市场中风头正劲,并且未来发展势不可挡.<Android应用UI ...

  6. Android开发——实现固定在ScrollView顶部的View,类似于新浪微博的评论列表的顶部

    现在很多App都实现了这个功能,例如新浪微博评论页面的评论.转发.赞的数字可以固定在屏幕上方.我个人很喜欢这种设计,所以利用一点空余时间简单实现了一个类似的功能. 先来看一下上面这张图的效果 这个是新 ...

  7. spring事务失效

    最近在做spring 项目中突然发现事务在遇到异常是没有回滚而是提交了,在查了大量的资料之后,算是有了一点头绪,写下来方便以后查找: 前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务 ...

  8. 一:Html基本结构

    1:什么是Html(HTML 概念)? Html是 HyperText mark-up Language 的缩写,意思是:超文本标记语言 2.HTML的发展史? 1991年:出现Html1.0(不存在 ...

  9. Java POI操作Excle工具类

    用到了jxl.jar和poi.jar 一些基本的操作Excel的操作方法: import java.io.File; import java.io.FileInputStream; import ja ...

  10. 社区APP “钱途”漫漫

    花样年曾宣称:2013年“彩生活”物业品牌收入1.85亿,毛利率超过40%:万科万客会APP.龙湖物业APP……大量房地产企业依托物业企业,纷纷瞄准移动互联网.云计算.物联网等高新科技为基础的物业服务 ...