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

Clipをキャプチャします。 – lindexi

+0

クリップは、uwpで動作しません。クリップはrect()で矩形ジオメトリのみを持ちます。それは半径xまたは半径yをサポートしません。 – Anonymous

+0

あなたはwin2dを使用できますか? – lindexi

答えて

0

迅速な回避策は、要素がDOMの自然のZIndexを利用して、本質的要素の上ご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

試しました。 background = "transparent"を設定すると、ヘルプが表示されません。境界線を背景色に設定すると問題が解決します。しかし、まだ適切な修正はありません。私はカスタム背景画像を持っています。だから私はそれに固定色を適切に与えることはできません。とにかくあなたの提案をありがとう。もっと多くの方法があることを願っています.. – Anonymous

関連する問題