【问题标题】:Make border gap using Opacity Mask使用不透明蒙版制作边框间隙
【发布时间】:2013-12-16 03:14:46
【问题描述】:

我需要达到的目标:

我有什么:

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

我的 TabControl 模板:(Shortend xaml),下面我创建了一个测试不透明蒙版,我将尝试通过分配一个包含可视画笔的不透明蒙版来仅显示我的 TabControl 的一小部分,因为它是可视的( 这只是试图了解如何应用不透明蒙版的失败尝试):

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

【问题讨论】:

标签: wpf opacitymask


【解决方案1】:

您为什么不能只使用 Border 属性来做到这一点?:

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

【讨论】:

  • 我不明白这会如何在选项卡控件的顶部边框、tabitems 下或我在所选 TabItem 下的更具体需要产生间隙,请查看我在在上面发表评论。
  • 我实际上已经找到了我的答案,我会在明天发布,不过我想要一个更简单的解决方案来解决这个问题。
  • 抱歉,我一定误解了你说的差距。
  • 我已经为这个问题做了一个很好的解决方案,它在 GroupBox 模板中的实现非常接近,我稍后会发布它,我只是有一个小问题,谢谢任何方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多