我正在努力使其能够在用户点击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标头消耗TabItem标头中的所有可用空间吗?我原本想用标签做这个但是它有一个问题,如果用户点击标题的边缘它不会执行命令,我仍然更喜欢这个使用按钮,但按钮允许用户定位在哪里他们点击了。
答案 0 :(得分:2)
您需要修改TabItem
ControlTemplate,更具体地说是ContentPresenter
,将VerticalAlignment
和HorizontalAlignment
设置为拉伸,并将Margin
设置为您他们缺乏,它默认为12,2,12,2。
答案 1 :(得分:0)
试试这个:
<TabControl TabStripPlacement="Left" BorderThickness="1,0,0,0" HorizontalContentAlignment="Stretch">