wpf MVVM框架基础

一。MVVM为Model—View—ViewModel,可以实现UI和业务逻辑分离、解耦合,业务逻辑代码不与UI中具体的控件关联。

View中即UI界面,ViewModel中则是业务逻辑,两者之间通过数据绑定实现。

绑定分为数据绑定和命令绑定。

  数据属性如TextBox,Slider等可以改变值的控件

  命令属性如按钮

在wpf中,MvvM设计模式可以使用Prism提供的框架实现。Prism安装方式:

1.在菜单栏-扩展中安装Prism Template Pack

2.重新启动VS等待安装,并且新建Prism Blank App(wpf)

二。简单实例。

1.实现功能:通过textbox1,textbox2值,按button 得到textbox3值。

分析:3个textbox为数据属性,Button为命令属性。

2.MainWindowViewModel中为业务逻辑。代码如下:

using Prism.Commands; //添加引用
using Prism.Mvvm;
using System; 

namespace MVVM.ViewModels
{
    public class MainWindowViewModel : BindableBase
    {
        private string _title = "Prism Application";
        public string Title
        {
            get { return _title; }
            set { SetProperty(ref _title, value); }
        }

        private double input1;  //添加数据属性

        public double Input1
        {
            get { return input1; }
            set { input1 = value; }
        }

        private double intput2; //添加数据属性

        public double Input2
        {
            get { return intput2; }
            set { intput2 = value; }
        }

        private double result;

        public double Result //添加数据属性
        {
            get { return result; }
            set {
                result = value;
                RaisePropertyChanged("Result"); //在Result值改变后通知Binding,Bing会改变与Result相关联的控件属性
            }
        }

       public DelegateCommand AddCommand { get; set; }//添加命令属性委托
       private void add()
        {
            this.Result = this.Input1 + this.Input2;
        }

        public MainWindowViewModel()
        {
            this.AddCommand = new DelegateCommand(new Action(add));//委托执行add
        }
    }
}

3.在xmal中添加绑定

结果:

 

原文地址:https://www.cnblogs.com/sclu/p/12144137.html

时间: 2024-10-09 07:03:03

wpf MVVM框架基础的相关文章

.NET Core 3 WPF MVVM框架 Prism系列之命令

原文:.NET Core 3 WPF MVVM框架 Prism系列之命令 本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的命令的用法 一.创建DelegateCommand命令# 我们在上一篇.NET Core 3 WPF MVVM框架 Prism系列之数据绑定中知道prism实现数据绑定的方式,我们按照标准的写法来实现,我们分别创建Views文件夹和ViewModels文件夹,将MainWindow放在Views文件夹下,再在ViewModels文件夹下面创建MainWi

WPF MVVM框架引入(5)

前面几章节所讲到的内容, 基本上属于前端XAML的使用方法, 那么本章及后面的章节, 则会侧重于UI与业务分离如何分离 . UI与业务逻辑之间的互操作性,, 下面将介绍WPF中, 比较主流的MVVM框架的引用与使用方法. 1.NuGet引用MVVM框架包 引入该框架包之后, 默认会在目录下创建ViewModel层的示例代码 2.第二步, 通过在MainViewModel中创建一些业务代码, 将其与MainWindow.xaml 通过上下文的方式关联起来, 而MainWindow则是通过Bindi

WPF MVVM框架下,VM界面写控件

MVVM正常就是在View页面写样式,ViewModel页面写逻辑,但是有的时候纯在View页面写样式并不能满足需求.我最近的这个项目就遇到了,因此只能在VM页面去写样式控件,然后绑定到View页面. 先看图 各种税是需要变动的,当然,并不是由于这个原因才在VM页面写样式,而是因为不同的税是红色,相应的[]是黑色. 在Textblock里用Run属性来进行变量添加,而要给Run添加颜色时又是统一的,因此只能用三个Run来分别来设置“[”,“税种”,“]”,但是前台又没有办法进行解析,因此只能用V

Core 3 WPF MVVM框架 Prism系列之数据绑定

一.安装Prism 1.使用程序包管理控制台# Install-Package Prism.Unity -Version 7.2.0.1367 也可以去掉‘-Version 7.2.0.1367’获取最新的版本 2.使用管理解决方案的Nuget包# 在上面或许我们有个疑问?为啥安装prism会跟Prism.Unity有关系,我们知道Unity是个IOC容器,而Prism本身就支持IOC,且目前官方支持几种IOC容器: 1.且unity由于是微软官方的,且支持prism的组件化,由此我推荐使用pr

简单的介绍下WPF中的MVVM框架

最近在研究学习Swift,苹果希望它迅速取代复杂的Objective-C开发,引发了一大堆热潮去学它,放眼望去各个培训机构都已打着Swift开发0基础快速上手的招牌了.不过我觉得,等同于无C++基础上手学习C#一样,即使将来OC被淘汰,那也是N年之后的事情,如果真的要做IOS开发,趁现在Swift才刚开始,花那么几个月去了解一下OC绝对是一件有帮助的事情. 扯远了,我前几天刚接触到一个叫做mvvm的框架,发现很有意思,带着学习的态度来写点东西,不足之处一起研究.还有一个很重要的原因,我发现不少同

准备.Net转前端开发-WPF界面框架那些事,搭建基础框架

题外话 最近都没怎么写博客,主要是最近在看WPF方面的书<wpf-4-unleashed.pdf>,挑了比较重要的几个章节学习了下WPF基础技术.另外,也把这本书推荐给目前正在从事WPF开发的程序猿. 现在书看完了也该实践实践,写了个WPF项目,主要以界面框架为主.  最近的几篇博客也主要围绕这个WPF项目,介绍下WPF搭建界面框架以及怎样写自定义的Windows界面和控件. 这也许是写最后几篇关于.Net技术的博客.做.Net开发也快五年了,感觉自己搞得不温不火,另外工作中正好有一个机会转做

在WPF的MVVM框架中获取下拉选择列表中的选中项

文章概述: 本演示介绍如何在WPF的MVVM框架中,通过数据绑定的方式获取下拉列表中的选中项.程序运行后的效果如下图所示: 相关下载(代码.屏幕录像):http://pan.baidu.com/s/1sjwN357 在线播放:http://v.youku.com/v_show/id_XODA5OTYzMDU2.html 温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到[email protected] XAML代码如下所示: <Window x:Class="Demo02E

WPF Prism框架下基于MVVM模式的命令、绑定、事件

原文:WPF Prism框架下基于MVVM模式的命令.绑定.事件 Prism框架下的自定义路由事件和命令绑定 BaseCode XAML代码: <Button x:Class="IM.UI.CommandEx.PrismCommandEx" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/wi

WPF MVVM模式的一些理解

/*本文转自 http://www.cnblogs.com/sirkevin/archive/2012/11/28/2793471.html */ 使用WPF+Mvvm开发一年多,期间由于对Mvvm模式的理解不足,遇到了很多问题,也绕了很多弯子:网上提供的Mvvm的示例比较简单,实际项目中的需求也各种各样.不过经过几个项目,也有了一些对Mvvm模式的理解: 1. Mvvm是什么,Mvvm是怎么来的?Mvvm模式广泛应用在WPF项目开发中,使用此模式可以把UI和业务逻辑分离开,使UI设计人员和业务