prism项目搭建 wpf_Prism完成的一个WPF项目

本文介绍了如何使用Prism完成一个WPF项目,从系统分层模型到Prism的MVVM实现,包括命令绑定、区域导航、模块管理和对话框服务。此外,还详细阐述了Entity Framework Core与PostgreSQL的集成,展示了如何通过CodeFirst创建数据库表,并提供了数据库操作的示例。
摘要由CSDN通过智能技术生成

本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结。

总共分三个部分:

基础篇主要针对C#初学者,巩固C#常用知识点;

中级篇主要针对WPF布局与MaterialDesign美化设计,在减轻代码量的情况做出漂亮的应用;

终极篇为框架应用实战,包含系统分层、MVVM框架Prism安装与使用、ORM框架EntityFramework Core配置与使用、开源数据库Postgresql配置与使用。

目录

前言

此篇主要介绍系统分层模型、如何安装Prism快速开发模板与MVVM框架使用、如何配置ORM框架Entity Framework Core与使用、以及Postgresql数据库配置。

系统分层

项目比较简单,大概分层模型如下:

View双向绑定ViewModel;

ViewModel调用Service取得DataModel业务数据;

Service通过调用Repository取得Entity数据;

Repository调用Entity Framework Core,自动创建Sql执行并返回Entity对象;

Entity Framework Core通过驱动链接数据库。

如果项目功能或者对接端末比较多,最好扩展成微服务。

MVVM框架之Prism

MVVM(Model–view–viewmodel)是微软的WPF和Silverlight架构师之一John Gossman于2005年发布的软件架构模式。目的就是把用户界面设计与业务逻辑开发分离,方便团队开发和自动化测试。目前流行的Android开发、Web开发都在使用,具体MVVM的介绍参照个人博客:核心框架MVVM与MVC、MVP的区别(图文详解)。

一、无框架的MVVM实现

设计与逻辑分离的基本就是绑定,通过发布者订阅者模式实现数据更新通知。

1、属性绑定

默认属性为单向绑定,如果需要双向绑定需要实现INotifyPropertyChanged接口。

第一步:一般是建立如下基类。

using System;

using System.ComponentModel;

using System.Runtime.CompilerServices;

namespace MvvmDemo.Common

{

///

/// Viewmodel基类,属性双向绑定基础

///

public class ViewModelBase : INotifyPropertyChanged

{

public event PropertyChangedEventHandler PropertyChanged;

///

/// 属性变更通知

///

/// 属性名

public void NotifyPropertyChanged([CallerMemberName] String propertyName = "")

{

if (PropertyChanged != null)

{

PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

}

}

}

}

第二步:各个ViewModel继承基类。

public class UserViewModel : ViewModelBase

{

private string _userId;

private string _userName;

///

/// 用户名

///

public string UserId

{

get

{

return _userId;

}

set

{

_userId = value;

NotifyPropertyChanged();

}

}

///

/// 用户名

///

public string UserName

{

get

{

return _userName;

}

set

{

_userName = value;

NotifyPropertyChanged();

}

}

}

第三步:Xaml绑定属性,实现消息通知。

备注:通过IValueConverter可以做一些特殊绑定处理。比如,经典的就是Bool值控制Visibility。

[ValueConversion(typeof(bool), typeof(Visibility))]

public class BoolToVisibiltyConverter : MarkupExtension, IValueConverter

{

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)

{

bool flag = false;</

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
prism7.1.0.431_wpf_官方中文文档是指Prism开发框架的WPF版本的官方中文文档。下面我将用300字回答有关该文档的问题。 Prism一个用于构建模块化、可扩展和可维护的WPF应用程序的开发框架。其目标是帮助开发人员更容易地通过解耦、组合和重用来构建高质量的应用程序。Prism提供了一套基于MVVM模式的开发指南和工具,使开发人员能够更加高效地开发WPF应用程序。 prism7.1.0.431_wpf_官方中文文档是一份由Prism团队编写的WPF版本的官方中文文档。该文档提供了对Prism开发框架的全面介绍和详细解释,包括框架的概述、基本概念、核心组件和开发技巧等内容。 通过阅读该文档,开发人员可以了解Prism框架的核心概念,例如依赖注入、模块化、命令和导航等。文档还提供了丰富的实例和代码段,使开发人员能够更好地理解和应用这些概念。 此外,该文档还介绍了Prism框架的高级特性,例如界面交互、事件聚合器、模块间通信和异常处理等。开发人员可以通过这些特性来构建更加灵活和可扩展的WPF应用程序。 总之,prism7.1.0.431_wpf_官方中文文档是一份重要的参考资料,对于需要使用Prism框架进行WPF应用程序开发开发人员来说,它提供了全面而详细的指导和解释,可以帮助开发人员更好地理解和应用Prism框架,提高开发效率和应用程序质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值