Просто, чтобы исправить это, как решения TabControl
, так и решения на основе Frame
- это как-то вроде экстремумов спектра. Элемент управления вкладками обеспечивает очень тесную связь между состоянием вкладок и отображаемым пользовательским интерфейсом (например, вам может быть трудно сменить диалог, для которого нет явного элемента табуляции), тогда как рамка обеспечивает относительно свободное соединение, но может быть overkill для этого сценария, поскольку он направлен на поддержку полномасштабной линейной навигации со стеком истории/страницы. (Призма, например, предлагает аналогичный механизм через концепцию «регионов».)
Среднее основание может состоять в том, чтобы иметь основной «оконный фрейм» с элементом-заполнителем и иметь ваши отдельные «страницы» из UserControl
, что делает их регулярными элементами пользовательского интерфейса. Чтобы переключиться на определенную страницу в пользовательском интерфейсе, вы должны создать экземпляр (через код или ресурсы XAML) соответствующего пользовательского элемента управления и установить его как свойство Content
вышеупомянутого элемента-заполнителя. (Это в основном тот же механизм, который вы упомянули для VB, где вы скрываете/показываете подчиненные элементы.)
Таким образом, в зависимости от фактических ограничений вашего сценария существует ряд возможностей для выбора.
Панель навигации, на которую вы можете избавиться, делает ShowsNavigationUI = «False» в XAML страницы. Я действительно верю, что вы приняли неправильный тип проекта, хотя. Если вы работаете со страницами, вы находитесь в приложении WPF _browser_. Обычно я связываю автономно с приложением Windows (тип проекта приложения WPF). – Goblin
Я работаю с приложением wpf. То, как я делал это в vb-формах, было скрыть/показать форму. Таким образом, чтобы изменить «страницы», например, от отчетов к обзору, я просто скрою контуры отчетов и покажу обзорные элементы управления. Теперь я пытаюсь сделать то же самое здесь, когда кнопка меняет часть основного окна. – Bbbh