WPF -- 初识Prism框架

目录

一、安装&新建项目 

二、View与ViewModel的绑定

三、属性通知

四、命令

五、Region(区域)

六、Navigation(导航)

七、Dialog(对话框)

八、Module(模块)


一、安装&新建项目 

      1. Nuget安装prism.core,prism.wpf,prism.unity

      2.可安装vs扩展包快速创建项目:Prism Template Pack

         扩展 --> 管理扩展 -->联机,搜索Prism Template Pack,下载完成后重启VS安装,

    tips: vs2019下载扩展时,会出现下载失败的情况,可用电脑连接手机热点下载

      3.新建项目,选择Prism Blank App(.NET Core),容器有两种(Unity,Dryloc),本文用Unity容器,

    App.xaml

public partial class App
    {
        //重写CreateShell方法,在App.xaml文件中,不再设置StartupUri
        protected override Window CreateShell()
        {
            //使用容器创建主窗体
            return Container.Resolve<MainWindow>();
        }

        //给容器中注册对象
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {

        }
    }

 二、View与ViewModel的绑定

  1. View中引入名称空间:xmlns:prism="http://prismlibrary.com/"
  2. 设置为自动关联:prism:ViewModelLocator.AutoWireViewModel="True"

tips: 1. 必须是Views和ViewModels目录

        2. 需要保证命名规范的正确性

              ① View可以以View结尾,也可以不写

              ② ViewModel必须以View的名称+”ViewModel”进行命名

         3. eg:   Views: Main, HomeView;

                     ViewModel:MainViewModel, HomeViewModel

    3. 默认的查找逻辑的源码

var viewName = viewType.FullName;
viewName = viewName.Replace(".Views.", ".ViewModels.");
var viewAssemblyName = viewType.GetTypeInfo().Assembly.FullName;
var suffix = viewName.EndsWith("View") ? "Model" : "ViewModel";
var viewModelName = String.Format(CultureInfo.InvariantCulture, "{0}{1}, {2}", viewName, suffix, viewAssemblyName);
return Type.GetType(viewModelName);

三、属性通知

     1. ViewModel继承BindableBase抽象类,实现INotifyPropertyChanged接口,使用SetProperty

public class MainWindowViewModel : BindableBase
    {
        private string _title;
        public string Title
        {
            get { return _title; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值