Я пытаюсь создать рамку с закругленными углами и подсветкой на верхней половине.Я использую эллипс с радиальным градиентом, перекрывающим верхнюю половину границы, чтобы выделить его, но я не могу понять, как предотвратить эллипс, окрашивающий углы границы.Вот скриншот из 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
, но должен признаться, я не совсем понимаю, как его использовать, особенно с преобразованием эллипса для рендеринга.Что бы я ни пытался, эллипс либо полностью исчезает, либо полностью не затрагивается.
Любая помощь будет принята с благодарностью.
Заранее спасибо.