2013-02-21 6 views
0

Я пытаюсь сделать так, чтобы я мог выполнить команду, когда пользователь нажимает на заголовок TabItem в моем TabControl.WPF TabControl удаляет содержимое заголовка?

Вот мой код:

 <TabControl TabStripPlacement="Left" BorderThickness="1,0,0,0"> 
     <TabItem Selector.IsSelected="{Binding IsGeneric, Mode=OneWay}"> 
      <TabItem.Header> 
       <Button Content="Generic" Margin="0" Command="{Binding GenericSelected}"></Button> 
      </TabItem.Header> 
      <V:WasteEstimationGenericView DataContext="{Binding}"></V:WasteEstimationGenericView> 
     </TabItem> 
     <TabItem Selector.IsSelected="{Binding IsSTP, Mode=OneWay}"> 
      <TabItem.Header> 
       <Button Content="STP" Margin="0" Command="{Binding STPSelected}"></Button> 
      </TabItem.Header> 
      <V:WasteEstimationSTPView DataContext="{Binding STPViewModel}"></V:WasteEstimationSTPView> 
     </TabItem> 
    </TabControl> 

Однако я в конечном итоге это то, что выглядит следующим образом: TabControl Headers

Может кто-то пожалуйста, скажите мне, как сделать мои TabControl заголовки потребляют все доступное пространство в заголовок TabItem? Я изначально хотел сделать это с помощью метки, но у него возникла проблема: если пользователь нажал на край заголовка, он не выполнил бы эту команду, я бы предпочел, чтобы это использовало кнопки, но кнопки позволяют пользователям ориентироваться там, где они нажимают.

ответ

2

Вам нужно будет Изменить TabItem ControlTemplate, более конкретно ContentPresenter, устанавливая VerticalAlignment и HorizontalAlignment Протянуть и установка Margin к тому, что вы хотели, это по умолчанию 12, 2,12,2.

0

Попробуйте это:

<TabControl TabStripPlacement="Left" BorderThickness="1,0,0,0" HorizontalContentAlignment="Stretch"> 
+0

Нет, нет разницы. –

+0

Я создал тестовый проект на основе вашего кода минус привязки вида и ширину кнопки STP, растянутую для соответствия ширине общей кнопки. Можете ли вы создать новое окно и просто протестировать только с помощью TabControl? Я подозреваю, что родительский контейнер TabControl вызывает вашу проблему. – failedprogramming

+0

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