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();
        }
    }

}

案例

相关推荐
c#上位机13 小时前
wpf之MVVM中只读属性更新界面
c#·wpf·mvvm
就是有点傻13 小时前
WPF自定义控件之环形进度条
wpf
He BianGu13 小时前
【笔记】WPF中如何的动态设置DataGridTextColumn是否显示
笔记·wpf
Pota-to成长日记17 小时前
Redisson 看门狗机制深度解析:分布式锁的守护者
分布式·wpf
为java加瓦17 小时前
分布式单例模式在微服务架构中的关键作用与实践
wpf
c#上位机18 小时前
wpf之Ellipse控件
wpf
c#上位机19 小时前
wpf之GroupBox
c#·wpf
分布式存储与RustFS1 天前
告别手动配置:用 Terraform 定义你的 RustFS 存储帝国
云原生·wpf·文件系统·terraform·对象存储·minio·rustfs
c#上位机2 天前
wpf之TabControl
c#·wpf
mingupup2 天前
WPF应用最小化到系统托盘
wpf