WPF - Контент раздела управления

2

Я новичок в WPF и пытаюсь найти правильный элемент управления.

Я кодирую приложение WPF, имеющее два раздела. Левая сторона - это как боковая панель Outlook (элементы управления Odyssey).

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

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

Если бы я писал это в Windows Forms, я мог бы просто создать несколько панелей, а затем показать ту, которая имеет значение (и скрыть остальные). Когда я пытаюсь это сделать в WPF, вы можете увидеть содержимое панели внизу. Я знаю, что могу сделать их невидимыми, но у меня возникает ощущение, что я ошибаюсь.

Итак, вот вопрос. Каков наилучший способ (в WPF) обрабатывать разделы контента приложения для изменения.

Теги:
wpf
visual-studio-2008
.net-3.5

1 ответ

2
Лучший ответ

Основываясь на вашем примере (переключая то, что показано на основе того, что выбрано на боковой панели), я бы рекомендовал restyling a TabControl потому что это действительно переключение табуляции, даже если оно не похоже на это. Проверьте этот для достойного примера, установите TabStripPlacement Влево, и у вас будет хорошее начало.

В зависимости от того, как настроены ваши данные, хорошим выбором будет Master-Detail.

Если вы хотите все программно переключать, вы захотите использовать ContentPresenter и DataTemplates для панелей пользовательского интерфейса. Эта статья Джоша Смита о MVVM, но его примерное приложение в основном представляет собой шаблон, который вы ищете.

  • 0
    Проблема с TabControl заключается в том, что пользовательский интерфейс позволяет пользователю переключаться между панелями. Мне нужно, чтобы это контролировалось программно и даже не отображалось в пользовательском интерфейсе.
  • 0
    Извините, из-за того, что «пользователь выбирает параметр на боковой панели, и все элементы управления в главном разделе будут изменены». Я думал, что пользователь контролирует изменения. Если это изменяется программно, посмотрите мое дополнение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню