使用不透明蒙版制作边框间隙

时间:2013-12-15 17:59:16

标签: wpf opacitymask

我需要实现的目标:

enter image description here

我有什么:

enter image description here

我需要一些如何创建差距,我尝试使用GroupBox模板中的BorderGapMaskConverter之类的东西,但我似乎无法弄清楚如何定位它(对于初学者我想要应用不透明蒙版所有标签项。

我的TabControl模板:( Shortend xaml),下面我创建了一个测试不透明度蒙版,我将尝试通过指定一个不透明蒙板来显示我的TabControl的一小部分,该蒙版包含一个包含该矩形的视觉画笔,因为它是可视的( 这只是故意试图理解如何应用OPACITY MASK

  <Rectangle Width="100" Height="100" RadiusX="0.5" RadiusY="0.5" Fill="Black" />

对于初学者我想知道为什么这不起作用..

  <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)其次,真正的问题,任何想法如何实现图片中描述的效果?

1 个答案:

答案 0 :(得分:1)

为什么不能只使用Border属性执行此操作?:

<Border Height="76" Padding="25,0" BorderBrush="Cyan" BorderThickness="1,6,1,0">
    <ContentPresenter />
</Border>