Toolkit.Mvvm Ioc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Toolkit.Mvvm.DependencyInjection;
using System;
 
internal class ViewModelLocator
{
    public ViewModelLocator()
    {
        ConfigureServices();
    }
 
    /// <summary>
    /// Configures the services for the application.
    /// </summary>
    private IServiceProvider ConfigureServices()
    {
        var services = new ServiceCollection();
 
        // Services
        // services.AddSingleton<IContactsService, ContactsService>();
        // services.AddSingleton<IPhoneService, PhoneService>();
 
        // Viewmodels
        services.AddTransient<MainViewModel>();
 
        var serviceProvider = services.BuildServiceProvider();
        Ioc.Default.ConfigureServices(serviceProvider);
 
        return serviceProvider;
    }
     
    public MainViewModel? MainVM { get { return Ioc.Default.GetService<MainViewModel>(); } }
 
}

  

1
2
3
4
5
6
7
8
9
App.xaml
<Application.Resources>
     <local:ViewModelLocator x:Key="Locator"/>
</Application.Resources>
 
view.xaml
<Window x:Class="MainWindow" 
                         DataContext="{Binding Source={StaticReource Locator},Path =MainVM}"
</Window>

  

posted @   dongzhaosheng73  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示