使用MVVMLight 开发 Windows 10 App(一)

编者语 : Windows 10 给开发者带来了新的机遇,通过一次开发,一次编译,一个执行文件可以运行在PC , IoT, Mobile,Xbox, HoloLens,SurfaceHub等不同的终端上。上周在直播活动中,为大家带来了一个开发的开篇介绍,从今天起会连载Windows 10 开发的相关文章。              MVVM Light是一个基于Model-Vi
摘要由CSDN通过智能技术生成

        编者语 : Windows 10 给开发者带来了新的机遇,通过一次开发,一次编译,一个执行文件可以运行在PC , IoT, Mobile,Xbox, HoloLens,SurfaceHub等不同的终端上。上周在直播活动中,为大家带来了一个开发的开篇介绍,从今天起会连载Windows 10 开发的相关文章。

       


       MVVM Light是一个基于Model-View-ViewModel的轻量级框架,他可以为WPF,Silverlight,Xamarin,Uinversal Windows Platform App提供一个MVVM的模式实现。Windows 10 对于支持Windows 8.x PCL 的库都可以无缝地延续下来,所以MVVM Light也可以在UWP的开发中使用。

       再谈MVVM   

       MVVM 是一个设计模式,从传统的MVC,MVP模式下演变过来。MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点

1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
4. 可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。
      MVVM Light

     

      MVVM Light 不是MVVM 模式下唯一的第三方框架,有Prism/ FreshMVVM 等类似的。但是它是比较成熟的一个。MVVM Light对ViewModel, Command,消息传递进行了封装,方便开发人员调用,并整合了SimpleIoC的依赖注入方式。在MVVM Light中有几个基类比较重要,我粗略介绍一下。

       ViewModelBase :  你创建的ViewModel都基于这个类,它为你提供了设计模式下的数据展现方式,方便在Blend下针对数据呈现
                                     进行设计。

      RelayCommand :   为你的ViewModel提供了事件响应的方式。它基于ICommand。RelayCommand通过构造函数初始化Execute 和 CanExecute
                                     方法。
     
NavigationService: 这是一个跳转服务,对于页面跳转和返回起着重要作用。

      Messenger :  页面间传递消息和数据传递。

      在Windows 10 中使用MVVM Light

      1. 通过Nuget添加MVVM Light ,如图通过Nuget就可以找到MVVM Light的库,只要点击Install就可以安装了,它会把
          MvvmLightLibs也安装上

       
     
      2.  安装成功后,除了会为MVVMLight添加必要的引用外,还创建了ViewModel文件夹,自带了MainViewModel和ViewModelLocator两个类。
           ViewModelLocator主要为项目的依赖注入相关类和实例化相关类。
      

     3.  之后的事情是按照需要创建你的Model和相关的Service完成对应的数据逻辑操作。

          

    4.  对于XAML的修改,你需要为XAML添加如下语句 ,通过这个来绑定相关的ViewModel
   <Page
    x:Class="UWPDemo.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UWPDemo"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    DataContext="{Binding Main, Source={StaticResource Locator}}">
   
   5. 至于其他界面的操作就是按以往那样即可,当然你可以针对不同的设备进行界面调整。

   

   6. 最后就是运行了,偷笑虽然是一个简单列表但是起码跑起来了。

   
   
       
爽吧!一个好的架构都项目来说是一个非常好的保障,MVVMLight 就是你所需要的。我会不间断地连载相关Windows 10结合MVVM Light开发的文章,希望大家喜欢。

       点击下载示例

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的问题是关于WPF如何使用MvvmLight工程框架。 MvvmLight是一个轻量级的Mvvm框架,它可以帮助开发人员更容易地实现WPF应用程序中的Mvvm模式。下面是使用MvvmLight框架开发WPF应用程序的一些步骤: 1. 首先,在Visual Studio中创建一个WPF应用程序项目。 2. 打开NuGet包管理器,搜索并安装MvvmLight库。 3. 在App.xaml.cs文件中,添加以下代码以初始化MvvmLight框架: ``` public partial class App : Application { static App() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); SimpleIoc.Default.Register<MainViewModel>(); } protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var mainWindow = new MainWindow(); mainWindow.Show(); } } ``` 在上面的代码中,我们使用SimpleIoc容器注册了一个MainViewModel,该容器将为我们提供视图模型的实例。 4. 创建一个MainWindow.xaml文件,并在其中添加一个Button控件和一个TextBlock控件。 5. 在MainWindow.xaml.cs文件中,添加以下代码以绑定Button控件的Command属性: ``` public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = ServiceLocator.Current.GetInstance<MainViewModel>(); } } ``` 6. 创建一个MainViewModel.cs文件,并添加一个实现ICommand接口的RelayCommand类,用于处理Button控件的点击事件。 7. 在MainViewModel.cs文件中,添加一个用于更新TextBlock控件内容的属性。 8. 在MainWindow.xaml文件中,使用数据绑定将TextBlock控件绑定到MainViewModel中的属性。 到此,我们就完成了使用MvvmLight框架开发WPF应用程序的过程。在实际开发中,我们可以使用MvvmLight框架来简化应用程序的开发过程,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值