2012-06-21 3 views
1

Я пытаюсь использовать шаблон TabControl из MSDN. http://msdn.microsoft.com/en-us/library/ms754137.aspxWPF - XAML - Помогите мне исправить шаблон TabControl

Все работает нормально, пока TabStripPlacement не войдет в игру. Настройка TabStripPlacement на «Left» не работает. Я получаю этот результат.

enter image description here

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

EDIT:

Я ожидаю, что этот результат, когда TabStripPlacement установлен в положение «Вверх»

enter image description here

И это, когда TabStripPlacement установлен на «левый»

enter image description here

Так же, как обычный таб. ontrol

+0

Какой результат вы хотели бы? –

+0

Кажется, что у вас есть вкладки внутри Grid.Row и главная «панель» внутри второй Grid.Row – CarlosJ

ответ

2

Это TabControl шаблон, который вы lniked, является примером, а не значением по умолчанию.

Вам нужно расширить Grid в шаблоне будет 2x2 вместо 1х2, а затем создать серию Triggers, которые устанавливают Grid.Row и Grid.Column из TabPanel имени HeaderPanel, и Border объект, содержащий контент на основе TabStripPlacement

Вы можете посмотреть фактическое значение по умолчанию TabControl.Template, извлекая шаблон с помощью Expression Blend или используя инструмент, например Show Me The Template. Он содержит триггеры, которые вы хотите.

+0

Это действительно работает. Я просто подумал, что Microsoft не опубликует «неправильный» пример. –

+1

@NazarGrynko Это не совсем «неправильно», это просто пример, поэтому он не полностью полнофункциональный. Рад, что выработали для вас хотя :) – Rachel

+0

@NazarGrynko Это может ввести в заблуждение, но они делают это правильно, ИМО. Если вы посмотрите пример использования элемента управления, полнофункциональный шаблон, вероятно, будет полностью подавляющим. Простой, урезанный пример достаточно, чтобы вы начали. – erodewald

Смежные вопросы