c# – 将当前前景绑定到Rectangle.Fill属性
作者:互联网
我在我的项目中使用Mahapps Metro主题.我想创建TabContem TabItem将成为图像的TabControl.选择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>
解决方法:
如果您不想绑定到内部TextBlock,可以使用TemplateBinding.
<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>
标签:c,wpf,xaml,mahapps-metro 来源: https://codeday.me/bug/20190628/1314632.html