Как переключаться между пользовательскими элементами управления в заданной области окна - PullRequest
1 голос
/ 04 ноября 2010

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

Я нарисовал границу вокруг правой стороны, и когда пользователь выбирает элемент в меню, я установил свойство Child границы для пользовательского элемента управления, соответствующего этому пункту меню, например:

Foo foo = new Foo(); // is a UserControl descendant
Bar bar = new Bar(); 

private void Foo_Selected(object sender, RoutedEventArgs e)
{
    RightSideBorder.Child = foo;
}
private void Bar_Selected(object sender, RoutedEventArgs e)
{
    RightSideBorder.Child = bar;
}

Проблема в том, что, когда bar выбран и выбран foo, bar получает событие Unloaded (и наоборот).

Что я хочу сделать, так это сохранить загруженные foo и bar, и просто переключаться между ними в зависимости от выбора меню. Как я мог сделать это? Изменение свойства Border.Child, очевидно, является неправильным способом сделать это.

1 Ответ

3 голосов
/ 04 ноября 2010

Поместите все элементы управления в сетку из одной ячейки и измените только их свойство Visibility на Collapsed / Visible.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...