WPF MVVMLight SimpleIOC创建一次性实例

在使用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创建一次性实例

上一篇:Delphi XE 10.4.2 IDE 设置----【代码格式化】


下一篇:H5 通过腾讯地图api定点位置