我想要一个带有边框和右上角圆角的画布。到目前为止我所做的是将画布放在边框内并围绕右上角。我还需要在画布上围绕同一个角落。使用一个剪辑我遇到了一个问题,即RectangleGeometry不会让我绕过一个角落,我怎么能解决这个问题?有没有更好的方法呢?
<Border Name="uiBorder" Background="Black" BorderBrush="White"
BorderThickness="1, 2, 1, 1" CornerRadius="0, 4, 0, 0">
<Canvas Background="Gray" Name="uiCanvas" Margin="0, 0, 0, 0">
<Canvas.Clip>
<RectangleGeometry RadiusX="4" RadiusY="4">
<RectangleGeometry.Rect>
<MultiBinding Converter="{StaticResource convertor}">
<Binding ElementName="uiBorder" Path="ActualWidth" />
<Binding ElementName="uiBorder" Path="ActualHeight"/>
</MultiBinding>
</RectangleGeometry.Rect>
</RectangleGeometry>
</Canvas.Clip>
<Image Name="uiImage" />
</Canvas>
</Border>
答案 0 :(得分:1)
一些XAML WUlululu的时间:
<Grid>
<Border Name="mask" Background="White" CornerRadius="0, 4, 500, 0"/>
<Border Name="uiBorder" Background="Black" BorderBrush="White" BorderThickness="1, 2, 1, 1" CornerRadius="0, 4, 500, 0">
<Canvas Background="Gray" Name="uiCanvas" Margin="0, 0, 0, 0">
<Canvas.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</Canvas.OpacityMask>
<Image Name="uiImage" />
</Canvas>
</Border>
</Grid>
如果uiBorder的背景为白色,则可以使用它而不是额外的“蒙版”边框。