WPF学习系列 MVVM设计模式 一

本文介绍了MVVM设计模式的基本应用,通过创建Model、View和ViewModel三层架构的简单实例,展示了如何在WPF项目中使用MVVM。在Model层定义了Student类,ViewModel层获取并显示Student集合,View层则通过DataGrid展示数据,并实现双向数据绑定。
摘要由CSDN通过智能技术生成

从今天开始,就通过实例一步步的去熟悉,了解,应用MVVM设计模式。那么先看一下MVVM的项目分层。
 在项目中创建了3个文件夹,分别是Model,View,ViewModel  。最终形成了 M-V-VM设计模式一个标准化的分层。
 Model层顾名思义“模型”,首先我们在Model层中添加Student.cs类型类。
 public class Student
    {
       public int StudentID { get; set; }
       public string StudentName { get; set; }
       public double StudentScore { get; set; }
    }
然后在Students中得到一个泛型为Student的集合。
 public class Students
    {
       public List<Student> student;
       public List<Student> SetStudent()
       {
           student = new List<Student>()
           {
               new Student{StudentID = 1,StudentName="A",StudentScore = 90.5},
               new Student{StudentID = 2,StudentName="B",StudentScore = 98.6},
               new Student{StudentID = 3,StudentName="C",StudentScore = 83.2},
               new Student{StudentID = 4,StudentName="D",StudentScore = 71.5},
           };
           return student;
       }
    }
这样一个简单的数据模型就完成了。
接下来完成VIewModel,在ViewModel中获取到了Model中的集合,当然在ViewModel中还可以做更多的操作。
 public List<Student> AllStudents { get; set; }
       public StudentVM()
       {
           AllStudents = new Students().SetStudent();
       }
然后完成View层,在View层中添加一个用户控件StudenView.xaml。在View中实现了和ViewModel的绑定 ItemsSource="{Binding Path=AllStudents}"
   <Grid Background="Orange">
        <DataGrid x:Name="dgView" Background="Transparent"  AutoGenerateColumns="False" ItemsSource="{Binding Path=AllStudents}">
            <DataGrid.Columns>
                <DataGridTextColumn Width="50" Header="编号" Binding="{Binding Path=StudentID}" IsReadOnly="True"></DataGridTextColumn>
                <DataGridTextColumn Width="50" Header="姓名" Binding="{Binding Path=StudentName}" IsReadOnly="True"></DataGridTextColumn>
                <DataGridTextColumn Width="50" Header="分数" Binding="{Binding Path=StudentScore}" IsReadOnly="True"></DataGridTextColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
最后将View添加到 MainWindow.xaml上面
<Window x:Class="MVVMTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:view="clr-namespace:MVVMTest.View"
        xmlns:viewmodel="clr-namespace:MVVMTest.ViewModel"
        Title="MVVM实战一" Height="500" Width="500" WindowStartupLocation="CenterScreen">
    <Window.Resources>
        <viewmodel:StudentVM  x:Key="vm"></viewmodel:StudentVM>
    </Window.Resources>
     <Grid DataContext="{StaticResource vm}">
        <view:StudentView Margin="50,50"></view:StudentView>
    </Grid>
</Window>
这样第一个简单的MVVM实例就完成了!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值