Как повторно вызывать окно любое количество раз в WPF?

Имеется панель (окно) выбора детали для добавления:

введите сюда описание изображения

Каждая кнопка имеет пару в словаре, чтобы в единственном обработчике клика вызывать нужное окно по ключу-кнопке:

private Dictionary<CustomButton, Window> detailsWindowsPairs = new();

 private void AddPairs()
    {
        detailsWindowsPairs.Add(CapacitorAddButton, new CapasitorsAddPanel());
        detailsWindowsPairs.Add(CommProductAddButton, new CommProductsAddPanel());
        detailsWindowsPairs.Add(DiodeAddButton, new DiodesAddPanel());
        detailsWindowsPairs.Add(MicrocircuitAddButton, new MicrocircuitsAddPanel());
        detailsWindowsPairs.Add(ResistorAddButton, new ResistorsAddPanel());
        detailsWindowsPairs.Add(InductanceAddButton, new InductanceAddWindow());
        detailsWindowsPairs.Add(ThyristorAddButton, new ThyristorAddWindow());
        detailsWindowsPairs.Add(TransistorAddButton, new TransistorAddWindow());
        detailsWindowsPairs.Add(ZenerDiodeAddButton, new ZenerDiodeAddWindow());
    }

private void AddDetailButton_Click(object sender, RoutedEventArgs e)
    {
           detailsWindowsPairs.GetValueOrDefault((CustomButton)sender).Show();
    }

Функционал кнопки подразумевает любое количество открытий и закрытий окна. Однако, после первого закрытия окна, при попытке вызвать его повторно, вылетает исключение:

введите сюда описание изображения

Вопрос: как его обойти?


Ответы (0 шт):