Member 13031802 Ответов: 1

Откройте пользовательский элемент управления из другого пользовательского элемента управления в WPF


Привет

у меня есть главное окно, и я использую пользовательский элемент управления, такой как форма, которая открывается внутри окна,

у меня есть кнопка закрытия внутри пользовательского элемента управления, как я могу удалить или очистить открытый пользовательский элемент управления и открыть другой пользовательский элемент управления?

Что я уже пробовал:

частная btnCancel_Click недействительным(объект отправителя, RoutedEventArgs е)
{

((Группы).Родитель).Children. Remove (this); / / удалить открытый пользовательский элемент управления

WinMain в ж = новые функции WinMain();
OpenUserControls.OpenUCMain(w. MainContent, new ucMain ()); / / не открывайте другой пользовательский элемент управления
}

// мой метод открытого пользовательского управления (ucMain)

общественная статический недействительным OpenUCMain(сетка ГРД, пользовательских элементов управления Як)
{
если (гр. дети.Количество = = 0)
{
ГРД.Дети.Добавить (uc);
}
}

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Если элемент управления, который вы хотите удалить, не является дочерним элементом в UserControl, который хочет его удалить, он не должен этого делать.

То, что вы должны сделать, - это выставить событие в вашем UserControl, которое запрашивает удаление другого элемента управления. Это событие подписано родительской формой. Затем родительская форма решит, уместно ли и безопасно ли удалять другой элемент управления, а затем сделает это.

Владелец (родитель) элемента управления должен обрабатывать дочерний элемент управления, а не оставлять его другому дочернему элементу управления.