public void Initialize(List <Affix> affixes, ItemBase itemBase, BaseInfomation baseInfo)
        {
            if (_baseInfo == null || !_baseInfo.Equals(baseInfo))
            {
                _itemBase    = itemBase;
                _affixes     = affixes;
                _baseInfo    = baseInfo;
                SelectedItem = new ItemPrototypeModel();
                ItemPrototypes.Clear();
                ItemControl = null;

                AddItem();
                SelectedItem = ItemPrototypes[0];
                OnPropertyChanged(nameof(SelectedItem));
            }
        }
        private void UpdateSelectedItem()
        {
            if (SelectedItem == null)
            {
                ItemControl = null;
                OnPropertyChanged(nameof(ItemControl));
                return;
            }

            ItemControl?.Save();

            ItemControl item = new ItemControl(SelectedItem, _affixes, _itemBase);

            ItemControl = item;
            OnPropertyChanged(nameof(ItemControl));
        }
        private void DeleteOnClick(object sender, RoutedEventArgs e)
        {
            if (SelectedItem != null)
            {
                ItemPrototypes.Remove(SelectedItem);
                SelectedItem = null;
                ItemControl  = null;

                if (!ItemPrototypes.Any())
                {
                    AddItem();
                }

                SelectedItem = ItemPrototypes[0];

                OnPropertyChanged(nameof(SelectedItem));
                OnPropertyChanged(nameof(ItemControl));
            }
        }