当前位置: 首页 > article >正文

WPF ToolkitMVVM IOC IServiceConllection

用微软自带的 IOC 需要安装
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

using Microsoft.Extensions.DependencyInjection;
using System.Configuration;
using System.Data;
using System.Windows;

namespace WpfApp3
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        /// <summary>
        /// 定义服务通道
        /// </summary>
        public IServiceProvider Services { get; }

        /// <summary>
        /// 设置当前正在使用的App实例
        /// 因为父类Application有这个属性,子类要隐藏父类,需要用new修饰
        /// </summary>
        public new static App Current=> (App)Application.Current;
        public App()
        {
            IServiceCollection sc= new ServiceCollection();
            sc.AddSingleton(typeof(ILog), typeof(Log));
            sc.AddTransient(typeof(MainViewModel));
            this.Services=sc.BuildServiceProvider();
        }
    }

}

在这里插入图片描述

在这里插入图片描述

案例


http://www.kler.cn/a/282315.html

相关文章:

  • 使用 Ant Design Vue 自定渲染函数customRender实现单元格合并功能rowSpan
  • LLaMA-Factory全流程训练模型
  • WebSocket简易聊天室实现(有详细解释)
  • Day18 Nim游戏
  • vue2和vue3:diff算法的区别?
  • MacOS下,如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能
  • 2024杭电5
  • docker启动kafka并挂载配置文件,并让外部环境连接kafka
  • 手机ip频繁跳动的原因是什么?手机ip地址老是变怎么解决
  • Java 6.3 - 定时任务
  • SBA、3GPP和SA2是什么
  • ansible的脚本
  • Linux系统应用(3)——编辑器vim
  • 二叉搜索树进阶之红黑树
  • 【Ubuntu】Ubuntu 24 配置镜像源
  • 【MySQL数据库管理问答题】第1章 MySQL 简介
  • 探索原理图
  • 5G SPS配置
  • Prometheus监控Mysql实例
  • 在vue3中封装WebSocket
  • SQLite数据库
  • Python GraphQL 库之graphene使用详解
  • mars3D使用 POI 查询、限定范围
  • Javaweb学习之Vue事件处理(六)
  • 虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇)
  • Mysql之主从复制