public static void Open(IItem itemStorage) { if (instance?.IsOpened == true && instance.itemStorage == itemStorage) { instance.CloseWindow(); } else { if (instance == null) { instance = new WindowStorageContainer(); instance.itemStorage = itemStorage; Api.Client.UI.LayoutRootChildren.Add(instance); } else { instance.itemStorage = itemStorage; instance.RefreshViewModel(); } if (CloseCurrentWindow(itemStorage)) { ClientCurrentInteractionMenu.RegisterMenuWindow(instance); ClientCurrentInteractionMenu.Open(); } } }
protected override void OnUnloaded() { base.OnUnloaded(); this.DataContext = null; this.viewModel.Dispose(); this.viewModel = null; instance = null; }