首页 > Windows开发 > 详细

WPF MVVMLight SimpleIOC创建一次性实例

时间:2021-03-30 13:07:27      阅读:15      评论:0      收藏:0      [点我收藏+]

在使用SImpleIOC容器中,会出现某个实例需要反复创建的情况

        /// <summary>
        /// 打开某某窗口
        /// </summary>
        private void OpenWindow()
        {
            var guid = System.Guid.NewGuid().ToString();//使用Guid作为实例Key
            var vm = SimpleIoc.Default.GetInstance<Example>(guid);//获取实例对象
            vm.SetTitile();//执行实例中的方法
            var addWinow = new AddWindow() { DataContext = vm };//设置VM对象
            addWinow.Closed += (s, e) => SimpleIoc.Default.Unregister(guid);//订阅Closed事件,注销实例
            addWinow.ShowDialog();
        }

需要注意的是SimpleIOC中拥有Key参数的Unregister重载方法,不会删除容器注册,只会清除实例并销毁内存

WPF MVVMLight SimpleIOC创建一次性实例

原文:https://www.cnblogs.com/Stay627/p/14595910.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!