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 = new Student() { number = "20123069", name = "小红", major = "软件工程" }; Student item1 = new Student() { number = "20122069", name = "小红", major = "软件工程" }; Student item2 = new Student() { number = "20123454", name = "小白", major = "网络工程" }; Student item3 = new Student() { number = "20123084", name = "小黑", major = "经济管理" }; Student item4 = new Student() { number = "20123345", 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="ContentPanel" DataContext="{StaticResource student}" Grid.Row="1" Margin="12,0,12,0">
            <ListBox x:Name="listBox" HorizontalAlignment="Stretch" ItemsSource="{Binding MyList}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Background="BlueViolet" Width="450" Margin="10">
                            <TextBlock Text="{Binding number}"  Width="200"></TextBlock>
                            <TextBlock Text="{Binding name}"  Width="100"></TextBlock>
                            <TextBlock Text="{Binding major}"  Width="100"></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>

第一天的简单讲解也就到这里了,上面有源码地址,大家可以学习交流哦,我也刚入门的说。。。。

 

 

 

 

转载于:https://www.cnblogs.com/xmfdsh/p/wp_MVVM%e5%bc%80%e5%8f%91%e5%bf%83%e5%be%97%e7%ac%ac%e4%b8%80%e5%a4%a9.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值