阅读 71

WPF MVVMLight SimpleIOC创建一次性实例

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

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

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

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

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐