2017-06-21 21 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