【发布时间】:2018-11-07 08:09:08
【问题描述】:
我有以下 xaml 代码:
<UserControl.Resources>
<Style TargetType="GroupBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" BorderThickness="1 1 0 0" BorderBrush="#25A0DA" CornerRadius="2 0 0 0" Background="Gray">
<Label Foreground="White">
<ContentPresenter Margin="0" ContentSource="Header" RecognizesAccessKey="True" />
</Label>
</Border>
<Rectangle Grid.Row="0" Grid.Column="1" Fill="Gray" IsHitTestVisible="False"/>
<Border Grid.Row="0" Grid.Column="1" BorderThickness="1 0 0 1" BorderBrush="#25A0DA" CornerRadius="0 0 0 70" Background="Green"/>
<Border Grid.Row="1" Grid.ColumnSpan="2" BorderThickness="1 0 0 0" BorderBrush="#25A0DA">
<ContentPresenter Margin="4" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<GroupBox Grid.Row="0" Foreground="White" Header="This is some header" Content="This is some content"/>
如您所见,我的标题由两个边框和一个矩形组成。
我目前使用矩形来为第二个边框的圆角留空的空间着色。
当前为绿色的空间实际上应该是完全透明的,但是,如果我将第二个边框的背景颜色设置为透明,我用来填充其他空间的矩形的其余部分当然会变得可见。
如何使绿色部分完全透明(例如内容区域)
【问题讨论】: