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

}

案例

相关推荐
曹天骄5 小时前
Cloudflare KV 使用教程(基于 Wrangler 项目)
wpf
摘星编程10 小时前
Flutter for OpenHarmony 实战:Dialog 对话框详解
flutter·wpf
ou.cs10 小时前
WPF TreeView 自动展开所有节点:附加行为(Attached Behavior)保姆级实现教程
c#·.net·wpf
一念春风12 小时前
可视化视频编辑(WPF C#)
开发语言·c#·wpf
bugcome_com2 天前
C# 字符串拼接全面指南
c#·.net·wpf
bugcome_com3 天前
WPF样式进阶实战:外置样式+MVVM主题切换+样式优先级全解析
c#·.net·wpf
lalala_Zou3 天前
场景题:电商平台订单未支付过期如何实现自动关闭订单?
wpf
czhc11400756633 天前
wpf 16
wpf
cn_mengbei4 天前
鸿蒙PC原生应用开发实战:ArkTS与DevEco Studio从零构建跨端桌面应用全栈指南
华为·wpf·harmonyos