windows phone MVVM开发心得第一天
之前刚刚学了asp.net网站的三层架构,为其中的优点着迷,可惜寒假本来决定学下MVC的计划泡汤了,刚开学,学了下windows phone 的MVVM模式的开发,在此留下点心得和脚印,第一天只是学了简单的数据绑定,接下来再学学Command的实现,MVVM模式也就是View,Model和ViewModel这三层,具体的关系自己百度,我也不大懂,只知道和之前学的三层差不多,所以领悟还是有点快的吧,哈哈。
其中我学习过程源码的下载地址为:http://files.cnblogs.com/xmfdsh/MVVMtest.rar

好吧,一个个来,首先当然是model层啦,这个就不解释了,直接上代码
namespace MVVMtest.Model
{
public class Student
{
//学号
public string number { get; set; }
//姓名
public string name { get; set; }
//专业
public string major { get; set; }
}
}
上面那个真的就不解释了,因为没什么要解释,如果这个不懂还是了解下三层吧,不过直接学MVVM一样可以我觉得,接下来就是ViewModel层,这个层个人觉得和网站的一些业务逻辑层差不多,第一天我就弄个了简单的
namespace MVVMtest.ViewModel
{
public class StudentViewModel
{ //学生的集合,ObservableCollection这个东西和C#中泛型一样,只不过应该是用在windows phone里面的吧,应该,因为别的地方我没见过,学MVVM第一次遇到
private ObservableCollection<Student> myList; //集合属性
public ObservableCollection<Student> MyList
{
get
{
if (myList == null)
myList = new ObservableCollection<Student>();
return myList;
}
set
{
if (myList != value)
{
myList = value;
NotifyPropertyChanged("MyList");
}
}
}
//初始化ViewModel层,赋值,这里的赋值可以用函数去赋值,灵活处理自己改啦
public StudentViewModel()
{
try
{
Student item = ", name = "小红", major = "软件工程" };
Student item1 = ", name = "小红", major = "软件工程" };
Student item2 = ", name = "小白", major = "网络工程" };
Student item3 = ", name = "小黑", major = "经济管理" };
Student item4 = ", name = "小灰", major = "计算机技术" };
MyList.Add(item);
MyList.Add(item1);
MyList.Add(item2);
MyList.Add(item3);
MyList.Add(item4);
}
catch(Exception e)
{
System.Windows.MessageBox.Show("EXCEPTION:" + e.Message);
}
}
//定义属性改变事件
public event PropertyChangedEventHandler PropertyChanged;//这个是监督变量的事件,个人觉得比较重要,可以深入了解下
//实现属性改变的事件
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(propertyName));
}
}
}
}
接下来就是View层了,这个就是视图的意思嘛,好,直接上一个.xaml页面文件,随便弄个了不怎么好看的,哈哈,见谅
<Grid x:Name=" Margin="12,0,12,0">
<ListBox x:Name="listBox" HorizontalAlignment="Stretch" ItemsSource="{Binding MyList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation=">
<TextBlock Text="></TextBlock>
<TextBlock Text="></TextBlock>
<TextBlock Text="></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
当然啦,这个.xaml文件的上面就不要忘记这些东东
xmlns:my="clr-namespace:MVVMtest.ViewModel"
。 。 。
<phone:PhoneApplicationPage.Resources>
<my:StudentViewModel x:Key="student"></my:StudentViewModel>
</phone:PhoneApplicationPage.Resources>
第一天的简单讲解也就到这里了,上面有源码地址,大家可以学习交流哦,我也刚入门的说。。。。
windows phone MVVM开发心得第一天的更多相关文章
- 菜鸟学Windows Phone 8开发(1)——创建第一个应用程序
本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 主要是想通过翻译本系列文章来巩固下基础知识顺带学习下英语和练习下自己的毅力(因为打算每天翻译一篇,但是发现翻译这篇花费了 ...
- 安卓版App开发心得
从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主. 将这段时间的Android开发心得记录如下 ...
- windows类书的学习心得(转载)
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- windows phone 8 开发系列(二)Hello Wp8!
上篇我们了解了WP8的环境搭建,从今天开始,我们就正式进入WP8的设计,开发阶段. 一. 项目模板介绍 打开vs,选择Windows Phone的项目模板,我们发现如下有很多模板,那么我们就从认识这些 ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- 【本人译作推荐】Windows 8应用开发:C#和XAML卷(原名:Building Windows 8 Apps with C# and XAML)
[图书推荐] 译名:Windows 8应用开发:C#和XAML卷 原名:Building Windows 8 Apps with C# and XAML 编辑推荐 国内第一本使用XAML与C#语言 ...
- 《Windows IoT 应用开发指南》
物物互联的时代已经到来,智能家居.智慧校园.智慧交通.可穿戴.无人机.全息投影,各种各样的新名词.黑科技层出不穷.当我们为五年前能够通过手机控制家电而欣喜若狂的时候,可曾憧憬过当前使用增强现实设备完成 ...
- Windows phone应用开发[22]-再谈下拉刷新
几周之前在博客更新一篇Windows phone应用开发[18]-下拉刷新 博文,有很多人在微博和博客评论中提到了很多问题.其实在实际项目中我基于这篇博文提出解决问题思路优化了这个解决方案.为了能够详 ...
- Windows phone应用开发[21]-图片性能优化
在windows phone 中常在列表中会常包含比较丰富文字和图片混排数据信息. 针对列表数据中除了谈到listbox等控件自身数据虚拟化问题外.虽然wp硬件设备随着SDK 8.0 发布得到应用可使 ...
随机推荐
- android使用library工程问题
在windows系统下,library project必须和project处于相同的盘符中,因为如果在不同盘符,project.properties中的android.library.referenc ...
- GRE协议学习与练习
通用路由封装(英语:Generic Routing Encapsulation,缩写为GRE),一种隧道协议,可以在虚拟点对点链路中封装多种网络层协议.由思科系统开发 以下是GRE协议的简单练习 网络 ...
- hdu 1250 Hat's Fibonacci
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Description A Fibonacci sequence ...
- windows phone版的一个儿教app
昨天下午看见一个园友写的一篇关于儿教的api,看了也就两三个接口,所以数据处理应该不会太复杂,主要是界面的效果,要求可能比较高.于是我就重新自己写了一个app,实现很简单,花的时间比较多的地方应该是在 ...
- WIN服务器出现 php-cgi.exe - FastCGI 进程意外退出
既然是不能解析PHP,那就直接运行一下PHP,看会报什么错,再对症下药,于是,在命令提示符窗口进入php安装的根目录,然后运行php -v的命令,这时窗口弹出计算机丢失msvcr110.dll的错误, ...
- 兼容sdk7&iOS7的issue解决小片段总结
ios7新增加的icon尺寸: 76 x 76:Size for iPad 2 and iPad mini (standard resolution) 120 x 120 :Size for iPho ...
- mysql数据库编码设置成utf-8,避免出现乱码
设置默认编码为utf8:set names utf8;设置数据库db_name默认为utf8:ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 C ...
- 在ASP.NET中实现OAuth2.0(二)之打造自己的API安全策略
1.场景介绍 公司开发了一款APP产品,前期提供的api接口都是裸奔状态 举个例子:想要获取某一个用户的数据,只需要传递该用户的ID就可以拿走数据(说多了都是泪) 现在想给这些接口穿个衣服,加个壳(对 ...
- R语言实战读书笔记1—语言介绍
第一章 语言介绍 1.1 典型的数据分析步骤 1.2 获取帮助 help.start() help("which") help.search("which") ...
- Sublime Text 3安装Latex
Sublime Text 3安装Latex 安装环境 Sublime Text 3已安装Package Control 安装过程 进入官网下载安装MikTex,www.miktex.org 进入官网下 ...