1.Nuget包安装

2.代码示例:
using System.ComponentModel;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;namespace ContainWPF
{/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{IContainerProvider containerProvider;public MainWindow() : this(new UnityContainerExtension()){}public MainWindow(IContainerProvider containerProvider){IContainerRegistry containerRegistry = (IContainerRegistry)containerProvider;this.containerProvider = containerProvider;InitializeComponent();containerRegistry.RegisterSingleton<IManage_Main, Manage_Main>();containerRegistry.RegisterSingleton<Initial>(); // 注册 Initial 类}private void Window_Loaded(object sender, RoutedEventArgs e){// 通过容器解析 Initial 类并调用它的方法var initial = containerProvider.Resolve<Initial>();string shi=initial.StartWork();MessageBox.Show($"{shi}");}}public class AppBootstrapper : PrismApplication{// 注册应用程序的依赖项protected override void RegisterTypes(IContainerRegistry containerRegistry){// 使用 Unity 容器注册 IManage_Main 接口和它的实现类 Manage_MaincontainerRegistry.Register<IManage_Main, Manage_Main>();// 通过 Unity 容器解析 Initial 类的实例containerRegistry.Register<Initial>();}// 设置应用程序视图protected override void OnInitialized(){// 使用 Unity 容器解析 Initial 类的实例,并调用 StartWork 方法var initial = Container.Resolve<Initial>();initial.StartWork(); // 调用 StartWork 方法,实际上是调用 IManage_Main 的 DoWork()}protected override System.Windows.Window CreateShell(){throw new NotImplementedException();}}public class Initial{private readonly IManage_Main manage_Main;// 通过构造函数注入 IManage_Mainpublic Initial(IManage_Main manage_Main){this.manage_Main = manage_Main;}// 调用 DoWork 方法public string StartWork(){return manage_Main.RetureModelNameStr();}}public interface IManage_Main{string RetureModelNameStr();}public class Manage_Main : IManage_Main{public string RetureModelNameStr(){return ("Manage_Main Model");}}
}