Prism 8 for wpf学习笔记

Prism 是一个框架,用于在 WPF 和 Xamarin Forms 中构建松散耦合、可维护和可测试的 XAML 应用程序。Prism 提供了一组设计模式的实现,这些模式有助于编写结构良好、可维护的 XAML 应用程序,包括 MVVM、依赖注入、命令、 EventAggregator 等,适合WPF中大型项目的开发。

什么是Prism?

Prism 是一个框架,用于在 WPF 和 Xamarin Forms 中构建松散耦合、可维护和可测试的 XAML 应用程序。Prism 提供了一组设计模式的实现,这些模式有助于编写结构良好、可维护的 XAML 应用程序,包括 MVVM、依赖注入、命令、 EventAggregator 等,适合WPF中大型项目的开发。

下载并安装Prism

系统需求

  • .NET Framework 4.5 或更高版本
  • Visual Studio 2017 或更高版本

源码和示例

Prism 源代码和文档

WPF-Sample

NuGet packages 安装prism

有这几个核心包,Prism.Core、 Prism.Wpf、Prism.Unity、Prism.DryIoc

主程序从Prism.Unity或Prism.DryIoc选个安装即可。

这里选Prism.Unity 在程序包管理控制台输入即可

Install-Package Prism.Unity -Version 8.1.97

安装生产力工具(可在了解prism基础组成后回退回来安装)

prism提供了一些便于开发的项目模块和代码片段

Prism Template Pack

要在 Visual Studio 2019 中安装,只需转到Visual Studio -> Extensions -> ManageExtensions -> Online -> Visual Studio Marketplace然后在在线图库中搜索“Prism Template Pack”:

在Visual Studio扩展管理安装 在这里插入图片描述

Snippets(代码片段)

在VS输入以下关键字后按2下Tab键可自动生成以下代码:

propp 具有支持字段的属性,取决于 BindableBase

private string _fieldName;
public string PropertyName 
{
	   get 
	{
		return _fieldName;
	}
	   set 
	{
		SetProperty(ref _fieldName, value);
	}
}

cmd 创建一个通用的 DelegateCommand

输入cmd 后按2下Tab键可自动生成以下代码:

private DelegateCommand _fieldName;
public DelegateCommand CommandName =>
    _fieldName ?? (_fieldName = new DelegateCommand(ExecuteCommandName));
void ExecuteCommandName() 
{
}

cmdfull – 使用 Execute 和 CanExecute 方法创建 DelegateCommand 属性

private DelegateCommand _fieldName;
public DelegateCommand CommandName =>
    _fieldName ?? (_fieldName = new DelegateCommand(ExecuteCommandName, CanExecuteCommandName));
void ExecuteCommandName() 
{
}
bool CanExecuteCommandName() 
{
	   return true;
}

cmdg – 创建一个通用的 DelegateCommand

 private DelegateCommand<string> _fieldName;
   public DelegateCommand<string> CommandName =>
        _fieldName ?? (_fieldName = new DelegateCommand<string>(ExecuteCommandName));
void ExecuteCommandName(string parameter) 
{
}

cmdgfull – 创建一个通用的 DelegateCommand 带有 Execute 和 CanExecute 方法的属性

private DelegateCommand<string> _fieldName;
public DelegateCommand<string> CommandName =>
    _fieldName ?? (_fieldName = new DelegateCommand<string>(ExecuteCommandName, CanExecuteCommandName));

void ExecuteCommandName(string parameter)
{

}

bool CanExecuteCommandName(string parameter)
{
    return true;
}

项目模板

  • Prism Blank App – 这是一个项目模板,本质上创建了一个新的 WPF shell 应用程序。它将有一个基本的引导程序,负责初始化应用程序并显示外壳。它将有一个 MainWindow 和一个 MainWindowViewModel 分别位于 Views 和 ViewModels 文件夹中。
  • Prism Module- 此项目模板将向您的解决方案添加一个新项目,该项目将充当 Prism 模块。它将定义一个实现 IModule的类,其中包含两个用于您的视图和视图模型的空文件夹。

后记

个人博客网站 https://onebyone.icu/

技术交流Q群: 1012481075 群内有各种流行书籍资料 在这里插入图片描述 在这里插入图片描述

文章后续会在公众号更新,微信搜索 OneByOneDotNet 即可关注。

你的一分鼓励,我的十分动力,点赞免费,感恩回馈,喜欢就点赞评论吧。

技术交流Q群: 1012481075 群内有各种流行书籍资料
原文链接:

发表评论

您的电子邮箱地址不会被公开。

WeChat
WeChat
QQ
QQ
返回顶部