2017-06-21 18 views
2

我需要在UWP中为CaptureElement提供一个圆角。我试着用圆角半径为这个元素添加边框。似乎边框正在创建,但CaptureElement没有在角落裁剪。以下是我正在处理的代码。如何在UWP中为CaptureElement制作圆角?

 <StackPanel RelativePanel.Below="Seperator2" RelativePanel.AlignHorizontalCenterWithPanel="True"> 
       <Border BorderThickness="5" BorderBrush="#E4F7FF" CornerRadius="10"> 
       <controls:DropShadowPanel Name="PreviewShadow" BlurRadius="8.0" ShadowOpacity="0.1" OffsetX="-10" OffsetY="10" Color="Black"> 
        <CaptureElement Name="previewcontrol" HorizontalAlignment="Center" Height="260" VerticalAlignment="Center" Width="345" Margin="0,0,0,0" /> 
       </controls:DropShadowPanel> 
       </Border> </StackPanel> 
+0

剪辑CaptureElement – lindexi

+0

剪辑在uwp中不起作用。剪辑只具有带rect()的矩形几何图形;它不支持半径x或半径y。 – Anonymous

+0

你可以使用win2d吗? – lindexi

回答

0

一个快速的解决办法是只假它通过赋予错觉该元素被利用DOM的自然Z-索引和基本的浮动裁剪您Border在元件的顶部。

示例图像; enter image description here

Quick PoC XAML;

<Grid Background="LightGray"> 

    <Grid Width="200" Height="200"> 
     <CaptureElement/> 
     <Border BorderBrush="Yellow" BorderThickness="10" 
       CornerRadius="20" Margin="-10"/> 
    </Grid> 

</Grid> 

希望这会有所帮助,欢呼声。

+0

谢谢。这是一个很好的解决方法。我无法使用这个技巧,因为我对捕捉元素有一个阴影。所以这样的边界会毁了那个。任何其他技巧? – Anonymous

+0

@Anonymous如果你将'Background =“Transparent”'添加到'Border'并将你的阴影应用到边框而不是?这是你寻找的更多结果吗? –

+0

试过。设置背景=“透明”不会帮助。但是将边框设置为背景色将会解决问题。但仍然不是一个适当的修复。我有一个自定义背景图片。所以我不能给它固定的颜色。无论如何感谢您的建议。我希望有更多的方法.. – Anonymous