MvvMlight 学习之 SimpleIoc

 1 SimpleIoc 是一个简单依赖注入容器;
 2
 3 例:Mainviewmodel需要使用一个服务或类,假设我需要的person类
 4
 5 首先将实现的服务注册到SimpleIOC,
 6 SimpleIoc.Default.Register<Person>(()=>new Person());
 7 然后把Mainviewmodel也注册到SimpleIOC,
 8 SimpleIoc.Default.Register<MainViewModel>();
 9
10
11 你可以通过ServiceLocator.Current.GetInstance<MainViewModel>();来获取一个Mainviewmodel的实例,   并且根据Mainviewmodel的构造参数在SimpleIOC中寻找匹配的对象,然后就可以使用了;
12
13  public class ViewModelLocator
14     {
15         static ViewModelLocator()
16         {
17             ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);//设置默认的SimpleIOC
18              SimpleIoc.Default.Register<Person>(()=>new Person());//将自己的类注册到SimpleIOC
19
20             SimpleIoc.Default.Register<MainViewModel>();//把Mainviewmodel也注册到SimpleIOC
21         }
22         public MainViewModel Main
23         {
24             get
25             {
26                 return ServiceLocator.Current.GetInstance<MainViewModel>();//获取Mainviewmodel的实例
27             }
28         }
29     }
30
31
32 public MainViewModel(Person data)///Mainviewmodel的构造参数,匹配Person类
33         {
34              WelcomeTitle =data.Name;
35         }
时间: 2024-08-15 20:23:43

MvvMlight 学习之 SimpleIoc的相关文章

MvvmLight学习篇—— Mvvm Light Toolkit for wpf/silverlight系列(导航)

一.Mvvm Light Toolkit for wpf/silverlight系列之准备工作 二.Mvvm Light Toolkit for wpf/silverlight系列之搭建mvvmlight开发框架 三.Mvvm Light Toolkit for wpf/silverlight系列之数据绑定 四.Mvvm Light Toolkit for wpf/silverlight系列之Command和Events 五.Mvvm Light Toolkit for wpf/silverli

wpf及mvvmlight学习备忘

vs2015mvvmlight(nuget 下载最新版) 一.强行关闭 在我的程序中跑了一个新线程Thread.Start() 关闭wpf窗口时,线程里的程序没跑完,则线程继续在后台跑那就在主窗体的.cs文件中加入 protected override void OnClosed(EventArgs e) { base.OnClosed(e); Environment.Exit(0); } 二.项目导入mvvmlight及问题 在要用到mvvmlight的工种中添加mvvmlight之后项目中会

MvvmLight框架使用入门(三)

本篇是MvvmLight框架使用入门的第三篇.从本篇开始,所有代码将通过Windows 10的Universal App来演示.我们将创建一个Universal App并应用MvvmLight框架. 首先通过VS2015创建一个名为UniversalApp的空工程(工程类型为Universal Windows),然后通过NuGet获取MvvmLight,这里需要注意的是,我们选择MvvmLightLib仅下载DLL文件,因为MvvmLight还未对Universal App做适配,并不会自动创建

[uwp]MVVM之MVVMLight,一个登录注销过程的简单模拟

之前学MVVM,从ViewModelBase,RelayCommand都是自己瞎写,许多地方处理的不好,接触到MVVMLigth后,就感觉省事多了. 那么久我现在学习MVVMLight的收获,简单完成以下一个Demo Demo主要功能是: 用户在登录界面登陆,登录成功后跳转到另一个页面,同时把登录时的用户信息作为参数传递过去,然后用户可以选择注销,注销时会弹出对话框,让用户选择是否真的注销,如果是,就真的注销,回退到       登录页面,否则就不做任何处理. 功能很简洁,接下来就用MVVMLi

WPF MvvmLight简单实例(1) 页面导航

原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击“Load”按钮,页面会加载PageOne,点击PageOne页面中的“Next”按钮即可进入PageTwo页面, 点击PageTwo页面中的“Next”即可进入PageThree页面,点击Back可返回Page1页面 第一步:新建工程并使用NuGet安装MvvmLight 第二步:添加Views文件夹并添加相应的ViewModel 本文主要描述如何使用MvvmLight实现简单

利刃 MVVMLight 3:双向数据绑定

上篇我们已经了解了MVVM的框架结构和运行原理.这里我们来看一下伟大的双向数据绑定. 说到双向绑定,大家比较熟悉的应该就是AngularJS了,几乎所有的AngularJS 系列教程的开篇几章都要涉及到,真的是很好用. 表达的效果很简单:就是在界面的操作对数据模型的修改能实时反映到数据:而数据的变更能实时展现到界面.即视图数据模型(ViewModel)和视图(View)之间的双向绑定和触发. 我们来操作一个试试看: 第一步:先写一个Model,里面包含我们需要的数据信息,代码如下: 1 ///

利刃 MVVMLight 2:Model、View、ViewModel结构以及全局视图模型注入器的说明

上一篇我们已经介绍了如何使用NuGet把MVVMLight应用到我们的WPF项目中.这篇我们来了解下一个基本的MVVMLight框架所必须的结构和运行模式. MVVMLight安装之后,我们可以看到简易的框架布局,如上篇,生成了一个ViewModel文件夹,ViewModel层的内容都放在这边,除了Main对象的ViewModel之外,还包含一个ViewModelLocator文件, 用来注入当前的ViewModel全局实例. 一.先来说说分层结构: 如图: 1.View负责前端展示,与View

MVVM学习

1:MVVMLight中通过IOC注册的服务或者是类是全局的整个工程都能访问到 2:向下的结构(viem→VM→Model)也不严格是这样 3:延迟SimpleIoc的注册 4:在Navigatedto的时候再赋值DataContext也不迟 5:  MainPage需要将它自己视为一个IDialogService注册到IoC容器中.因为一次只能由一个页面显示,所以同时需要在迁移到其他页面时注销.我们在OnNavigatedTo和OnNavigatedFrom方法中做这两个操作. Figure

[开源,学习,分享]UWP第三方简书客户端分享

简介 Windows10正式版发布到现在,我利用零零碎碎的一些时间对UWP进行一些学习,也基于这门技术开发了一个第三方的简书App. 基本界面 优酷视频: http://v.youku.com/v_show/id_XMTM2MjU4MjI4NA==.html 基本功能 客户端采用了UWP的技术,所以支持x86,x64,ARM平台,采用了响应式的布局.对手机进行了部分的优化. 对SQLite和本地存储进行了封装,支持缓存. 缓存支持同步和异步的两种方式,分别实现了两个接口: internal in