Wpf 使用不透明度遮罩创建边界间隙
我需要达到的目标是: 我所拥有的: 我需要了解如何创建间隙,iv'e尝试使用GroupBox模板中的BorderGapMaskConverter之类的工具,但我似乎不知道如何定位它(对于初学者,我希望为所有选项卡项应用不透明遮罩) 我的TabControl模板:(Shortend xaml),在iv'e下面创建了一个测试不透明度蒙版,我将尝试通过指定一个不透明度蒙版来显示TabControl的一小部分,该蒙版包含一个可视画笔,该画笔包含一个可视的矩形(这只是尝试理解如何应用不透明度蒙版的失败尝试。):Wpf 使用不透明度遮罩创建边界间隙,wpf,opacitymask,Wpf,Opacitymask,我需要达到的目标是: 我所拥有的: 我需要了解如何创建间隙,iv'e尝试使用GroupBox模板中的BorderGapMaskConverter之类的工具,但我似乎不知道如何定位它(对于初学者,我希望为所有选项卡项应用不透明遮罩) 我的TabControl模板:(Shortend xaml),在iv'e下面创建了一个测试不透明度蒙版,我将尝试通过指定一个不透明度蒙版来显示TabControl的一小部分,该蒙版包含一个可视画笔,该画笔包含一个可视的矩形(这只是尝试理解如何应用不透明度蒙版的失败
首先,我想知道为什么这不起作用
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="0"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition />
</Grid.RowDefinitions>
<TabPanel Panel.ZIndex="1"/>
<Border>
<Border.OpacityMask>
<VisualBrush>
<VisualBrush.Visual>
<Rectangle Width="100" Height="100" RadiusX="0.5" RadiusY="0.5" Fill="Black" />
</VisualBrush.Visual>
</VisualBrush>
</Border.OpacityMask>
<ContentPresenter/>
</Border>
</Grid>
2) 第二,真正的问题是,你有没有想法如何实现图片中描述的效果?为什么不能用
边框
属性来实现呢
<Border Height="76" Padding="25,0" BorderBrush="Cyan" BorderThickness="1,6,1,0">
<ContentPresenter />
</Border>
这让我走上了正确的轨道。我不认为这会在tab控件的上边框、tabitems下或我在所选TabItem下的更具体需求中产生间隙,请查看我在上面评论中发布的链接。我已经找到了我的答案,我将在明天发布,虽然我希望这个问题有一个更简单的解决方案。抱歉,我一定误解了你所说的差距。我实际上为这个问题制定了一个很好的解决方案,它非常接近GroupBox模板中的实现,我稍后会发布它。我只是有一个小问题,谢谢。
<Border Height="76" Padding="25,0" BorderBrush="Cyan" BorderThickness="1,6,1,0">
<ContentPresenter />
</Border>