0

我试图做到这一点,以便当用户单击我的 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 标头

有人可以告诉我如何让我的 TabControl 标头消耗 TabItem 标头中的所有可用空间吗?我最初想使用标签来执行此操作,但它有一个问题,如果用户单击标题的边缘它不会执行命令,我仍然更喜欢使用按钮,但是按钮允许用户定位到哪里他们点击。

4

2 回答 2

2

您将需要修改TabItemControlTemplate,更具体地说ContentPresenter,将VerticalAlignmentHorizontalAlignment设置为 Stretch 并将 设置Margin为您想要的,默认为 12、2、12、2。

于 2013-02-21T23:19:14.810 回答
0

尝试这个:

<TabControl TabStripPlacement="Left" BorderThickness="1,0,0,0" HorizontalContentAlignment="Stretch">
于 2013-02-21T22:59:23.650 回答