WPF TabControl删除标题填充?

时间:2013-02-21 22:49:08

标签: c# wpf xaml .net-4.0 tabcontrol

我正在努力使其能够在用户点击TabControl中的TabItem标题时执行命令。

这是我的代码:

      <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 个答案:

答案 0 :(得分:2)

您需要修改TabItem ControlTemplate,更具体地说是ContentPresenter,将VerticalAlignmentHorizontalAlignment设置为拉伸,并将Margin设置为您他们缺乏,它默认为12,2,12,2。

答案 1 :(得分:0)

试试这个:

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