WPF ToolkitMVVM IOC IServiceConllection

用微软自带的 IOC 需要安装

csharp 复制代码
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();
        }
    }

}

案例

相关推荐
一见已难忘34 分钟前
基于 Harmony 6.0 应用的宠物寄养预约系统实现
wpf·宠物
fl1768311 小时前
基于C#WPF实现的内存加速球清理类似360加速球内存清理
开发语言·c#·wpf
李高钢2 小时前
【WPF】高级 UI 与性能优化实战:从卡顿到丝滑
ui·性能优化·wpf
Chris _data19 小时前
WPF 上位机开发学习笔记 - 第四天
笔记·学习·wpf
李高钢1 天前
用 JetBrains Rider 写 WPF 的 15 个高效技巧:从 VS 转过来也值得看
wpf
李高钢2 天前
【WPF】MVVM 与数据绑定实战:从原理到完整项目
wpf
李高钢2 天前
【WPF】从 Avalon 到 .NET 10:WPF 平台演进史与特性全览
.net·wpf
李高钢3 天前
WPF MVVM Light 入门:从零到Hello World
c#·wpf
李高钢3 天前
WPF MVVM Light(三):RelayCommand 命令与 Messenger 消息
前端·c#·wpf
SamChan904 天前
FastAPI+Celery+Redis搭建企业级PDF翻译异步任务系统
redis·后端·python·pdf·wpf·fastapi