<WP7>(二)手把手教你写天气预报程序:UserControl的运用

<WP7>(二)手把手教你写天气预报程序:UserControl的运用,第1张

概述                那么,开始吧。首先确认安装了window phone SDK(没有的先去安装,SDK自带VS2010 Express版,还有就是电脑系统要是win7,XP不支持微软原版的模拟器,不过可以使用传智播客做的模拟器,具体自己百度)。如果本来安装了VS2010 ultimate的。可以用之开发,但是确认升级到了SP1版,不然不能使用,而且,如果本来的VS2010是中文版,那

                那么,开始吧。首先确认安装了window phone SDK(没有的先去安装,SDK自带VS2010 Express版,还有就是电脑系统要是win7,XP不支持微软原版的模拟器,不过可以使用传智播客做的模拟器,具体自己百度)。如果本来安装了VS2010 ultimate的。可以用之开发,但是确认升级到了SP1版,不然不能使用,而且,如果本来的VS2010是中文版,那么需要到C:\Program files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp(C盘为SDK安装目录),复制Silverlight for windows Phone文件夹(此为window phone模板)到C:\Users\用户名\documents\Visual Studio 2010\Templates\ProjectTemplates\Visual C#下,这样原来的中文版VS2010就能识别window phone模板了。

          打开VS2010。无论你打开的是中文版的还是英文版的,我用的是中文版的,我下面所说的 *** 作大部分都是中文的。如果你英文不好还要用英文版的(虽然基本没几个英文单词),如果找不到我也没办法了(不过大部分应该都附图)。

        点击文件---新建----项目,在左边的模板里面选择visual C#,然后再选择silverlight for window phone,然后在右边选择 window phone application。填入名称:WeatherForecast    具体如下图:



然后在这个d窗,选择OS 7.1


点击OK


点击确定。现在也可以点击运行。

运行方法:先看这

绿色三角后面选择的是Emulator,就是模拟器。还有一个选项是Device,就是手机。确认选择的是模拟器,点击绿色三角或者按F5运行。运行成功!


我觉得这么一个程序,首先应该要能够获取到天气信息展示到界面。先分析下界面应该怎么做吧。新手看到这么复杂的界面大部分还真是无从入手。


观察界面,就是一个GrID的布局。但是麻烦的是右边的预报后几天天气的布局。单靠grID布局达不到如此效果。

所以把这做成UserControl。这样更容易布局。也可以展示下UserControl的应用。


现在,先添加一个UserControl。在右边的解决方案管理器,在WeatherForecast上右键,添加,新建项。添加一个window phone user control。命名为ForecastTemplate,点击添加,如图:



在ForecastTemplate.xaml。里面的name为LayoutRoot的grID里面添加两个TextBlock,一个Image。

具体代码如下:

  
<GrID.ColumnDeFinitions>            <ColumnDeFinition WIDth="*"/>            <ColumnDeFinition WIDth="*"/>        </GrID.ColumnDeFinitions>        <GrID.RowDeFinitions>            <RowDeFinition Height="*"/>            <RowDeFinition Height="*"/>        </GrID.RowDeFinitions>        <TextBlock GrID.Column="0" GrID.Row="0"                   x:name="weekday" HorizontalAlignment="Center"                   VerticalAlignment="top" Text="星期八"                   FontSize="24"/>        <TextBlock GrID.Column="0" GrID.Row="1"                   x:name="temp" HorizontalAlignment="Center"                   VerticalAlignment="top" FontSize="24"                   Text="7℃~29℃"/>        <Image x:name="Wimg" GrID.Column="1" GrID.Row="0"               GrID.rowspan="2" VerticalAlignment="Center"               HorizontalAlignment="left"/>


现在在左边的设计框显示的是这样的:



我们需要从外部给这个UserControl的Textblock或者Image的属性赋值,那么需要给ForecastTemplate这个类添加成员变量来控制Textblock或者Image的属性。那么。转到ForecastTemplate.xaml.cs页面。也就是在ForecastTemplate.xaml的代码页面,右键,查看代码。就看到了。

ForecastTemplate.xaml.cs页面,在ForecastTemplate类中添加如下的成员。

//定义Image的Source属性。这样这个用户控件就能从外面访问到这个Image控件的Source属性了        private string _imageUri;        public string ImageUri        {            get            {                return _imageUri;            }            set            {                _imageUri = value;                BitmAPImage bmp = new BitmAPImage(new Uri(value,UriKind.relative));                Wimg.source = bmp;            }        }        //定义了TextBlock的Text属性。外头就可以给这个Text属性赋值了        private string _weekday;        public string Weekday        {            get            {                return _weekday;            }            set            {                _weekday = value; ;                weekday.Text = value;            }        }        private string _temp;        public string Temp        {            get            {                return _temp;            }            set            {                _temp = value;                temp.Text = value;            }        }

是否发现在这显示红色波浪线?

因为没有引入命名空间。在BitmAPImage上右键。解析,选择第一个Using。这样就引入了命名空间。这里提这个主要是给新手提个醒,遇到错误不要着急。先看清楚是什么状况。解决就好了。


现在转到MainPage.xaml页面。先添加命名空间。

xmlns:my="clr-namespace:WeatherForecast"

贴图展示命名空间添加位置。

这个命名空间namespace:后面跟的是当前的工程名。需要访问当前工程空间的页面都要添加。

现在,在代码页面尝试添加Usercontrol吧。

正确添加命名空间。智能提示就能访问到Usercontrol。


现在添加一些图片资源文件到工程。我这工程添加的图片资源可以到这下载:http://dl.dbank.com/c0w9dhbbk1

直接右键解压到Images文件夹。然后复制整个Images文件夹到工程里,具体 *** 作:复制文件夹,然后解决方案资源管理器右键WeatherForecast这个工程,选择粘贴就完成了引入资源到工程。


现在到MainPage.xaml中添加代码:

name为contentPanel的grID添加代码。

<my:ForeCastTemplate Temp="7℃~11℃" Weekday="星期天"                WIDth="300" Height="200"                   ImageUri="/WeatherForecast;component/Images/sunday.jpg" />

一开始ForecastTemplate下面会显示蓝色波浪线,而且在设计框里也不显示控件。运行一次就好。运行一次后,在设计框里显示如下:


好了,这一节就到这吧。省得篇幅太长了。这节主要介绍了UserControl的运用。如有问题可以直接留言。

这节工程代码下载:

http://dl.dbank.com/c0awblgtqp

总结

以上是内存溢出为你收集整理的<WP7>(二)手把手教你写天气预报程序:UserControl的运用全部内容,希望文章能够帮你解决<WP7>(二)手把手教你写天气预报程序:UserControl的运用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存