2011-08-22 175 views
1

我想在右上角有一個邊框和圓角的畫布。到目前爲止,我所做的是將畫布放在邊框內並圍繞右上角。我還需要在畫布上圍繞同一個角落。使用剪輯我遇到了一個問題,在這個問題中,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> 

回答

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的背景是白色的,你可以用它代替了額外的 「面具」 的邊界。