wpf中mvvmlight的使用方法
admin
2023-02-20 08:20:03
0

简介

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点
1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
mvvmlight(nuget 下载最新版)

4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。

vs2015

一、强行关闭

在我的程序中跑了一个新线程
Thread.Start()

关闭wpf窗口时,线程里的程序没跑完,则线程继续在后台跑
那就在主窗体的.cs文件中加入

protected override void OnClosed(EventArgs e)
{
 base.OnClosed(e);
 Environment.Exit(0);
}

二、项目导入mvvmlight及问题

在要用到mvvmlight的工种中添加mvvmlight之后
项目中会多出一个ViewModel文件夹
里面有两个文件:
MainViewModel.cs
ViewModelLocator.cs

而原先的App.xaml里也会多出几行东东:


  
    
      
    
  

即上面代码中的

标签里的内容
这个先不管
直接运行一下,会报错
wpf中mvvmlight的使用方法
在ViewModel文件夹下的ViewModelLocator.cs里会报错
这个错误通过搜索发现了解决方法:
将这行报错的引用注释掉或删掉,添加另一行引用
wpf中mvvmlight的使用方法

using CommonServiceLocator;

这样就不报错了

三、mvvmlight框架的ObservableObject

类继承ObservableObject
当然要引用相应的包

using GalaSoft.MvvmLight;

这个按我的理解就是继承了这个类,属性的变化就可响应,并且从UI中反应出来
即属性有变动时,UI中也相应更新

在窗体的xaml.cs中,在构造函数里要定义数据绑定时的上下文

this.DataContext = ……;

在xaml文件里绑定

开一个新线程,里面隔一定时间,给绑定的数据更新,这样在窗口中的TextBlock里也会随之更新内容

相关内容

热门资讯

洗衣机正常洗,水出不出去什么原... 这种情况原因有很多种,1、电机故障造成洗衣机不能脱水,洗衣机电动机有嗡嗡声响而不转动,多数是电动机匝...
半自动洗衣机排不出水是什么原因 1、排水管扭曲,保持排水管的畅通才能让洗衣机正常排水。2、排水缓慢时,有可能是因排水口过高,排水阀拉...
西门子洗衣机经常故障 西门子是全球著名的家电品牌,其洗衣机在国内市场也拥有广泛的用户群体。然而,近年来,一些西门子洗衣机用...
西门子洗衣机平衡自检故障 西门子洗衣机平衡自检故障是一种非常常见的问题,它通常是由于洗衣机内部出现平衡不良的问题导致的。当洗衣...
石化油服获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示石化油服(600871)新获得一项实用新型专利授权,专利名为“...
服务六大场景 机器人公园上岗 玉渊潭公园投用水面割草机器人。(刘平 摄) 天坛公园的智能巡护机器人上岗。(刘平 摄) 盛夏七月,...
力箭一号遥十五运载火箭圆满完成... 红星新闻网7月24日讯2026年7月24日07时33分,我国在东风商业航天创新试验区使用力箭一号遥十...
特朗普:美方正与伊朗谈判,不排... 当地时间7月24日,美国总统特朗普在白宫谈及对伊朗战争的“退出战略”时表示,美国有两种选择:一是继续...
小伙相亲2天后花33万闪婚,一... 极目新闻记者 邓波2025年4月,安徽安庆小伙何攀到贵州贵阳花果园相亲,并与相识两天的贵阳籍女子陆某...
丘成桐:王虹和邓煜都在MIT待... 当地时间7月23日,在美国费城举行的2026年国际数学家大会开幕式上,中国数学家邓煜、王虹获得菲尔兹...