私は、角の丸い境界線を作成しようとしており、上半分にハイライトがあります。私はハイライトを与えるために、境界の上半分をオーバーラップする放射状グラデーションを持つ楕円を使用していますが、楕円がボーダーのコーナーを着色するのを防ぐ方法を理解できません。ここでKaxamlからのスクリーンショットです:丸みを帯びた境界内にレンダリングをクリップするにはどうすればいいですか?
そしてここでは、XAMLコードです:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="DarkGray">
<Grid Width="256" Height="256">
<Border CornerRadius="16" Background="Black" Margin="4">
<Border Background="Gray" Margin="32">
<TextBlock Foreground="Black" Text="1" FontFamily="Trebuchet MS" FontSize="96pt"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Border>
<Border CornerRadius="16" ClipToBounds="True">
<Ellipse>
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="Transparent" Offset="1"/>
</RadialGradientBrush>
</Ellipse.Fill>
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="3" ScaleY="2" CenterX="128" CenterY="128"/>
<TranslateTransform Y="-235"/>
</TransformGroup>
</Ellipse.RenderTransform>
</Ellipse>
</Border>
<Border CornerRadius="16" BorderThickness="8" BorderBrush="Black"/>
</Grid>
</Page>
私は楕円形の影の影響を受け上隅の領域をどのように停止することができますか?
私はOpacityMask
で遊んでみましたが、特に、レンダリングのために変形された楕円の場合、実際の使用方法はわかりません。私が試してみても、楕円は完全に消えるか、まったく影響を受けません。
ご協力いただければ幸いです。
ありがとうございます。
これは、私のサンプルコードをあまり単純化しないよう教えてくれます。 :(私は、境界線自体に放射状のグラデーションを置かない理由は、実際のアプリケーションでは、境界線には他の要素が含まれているためです。楕円は境界線とその内容の上端に位置します。 –
実際には、サンプルコードとイメージを更新してより明確にしていきます。 –
また、私はあなたに驚いています。 VS2008を使用しています –