Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 使用不透明度遮罩创建边界间隙_Wpf_Opacitymask - Fatal编程技术网

Wpf 使用不透明度遮罩创建边界间隙

Wpf 使用不透明度遮罩创建边界间隙,wpf,opacitymask,Wpf,Opacitymask,我需要达到的目标是: 我所拥有的: 我需要了解如何创建间隙,iv'e尝试使用GroupBox模板中的BorderGapMaskConverter之类的工具,但我似乎不知道如何定位它(对于初学者,我希望为所有选项卡项应用不透明遮罩) 我的TabControl模板:(Shortend xaml),在iv'e下面创建了一个测试不透明度蒙版,我将尝试通过指定一个不透明度蒙版来显示TabControl的一小部分,该蒙版包含一个可视画笔,该画笔包含一个可视的矩形(这只是尝试理解如何应用不透明度蒙版的失败

我需要达到的目标是:

我所拥有的:

我需要了解如何创建间隙,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>