我在我的项目中使用Mahapps Metro主题。我想创建TabControl
,其中TabItem
将是图片。当选择TabItem
时,Mahapps主题提供TabItem文本的更改颜色等。我想将此前景色绑定到我的图像。
我有这个问题的解决方案,但我认为这是不正确的。
'错'代码(但它正在运行):
<TabItem>
<TabItem.HeaderTemplate>
<DataTemplate>
<Grid Margin="0,5,0,0">
<TextBlock x:Name="myTextBlock" />
<Rectangle Width="28.947" Height="25" Fill="{Binding ElementName=myTextBlock, Path=Foreground}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill" Visual="{StaticResource appbar_image_gallery}" />
</Rectangle.OpacityMask>
</Rectangle>
</Grid>
</DataTemplate>
</TabItem.HeaderTemplate>
</TabItem>
答案 0 :(得分:3)
如果您不想绑定到内部TemplateBinding
,则可以使用TextBlock
。
<TabItem.HeaderTemplate>
<DataTemplate>
<Grid Margin="0 5 0 0">
<TextBlock Text="{Binding}" />
<Rectangle Width="28.947"
Height="25"
Fill="{TemplateBinding TextElement.Foreground}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill" Visual="{DynamicResource appbar_image_gallery}" />
</Rectangle.OpacityMask>
</Rectangle>
</Grid>
</DataTemplate>
</TabItem.HeaderTemplate>