2013-08-30 38 views
5

在WPF中,我希望爲我的電影創建圓角,但電影實際上會重疊邊框,並且我會得到一個加載我的電影的正常矩形框。任何想法如何解決這個問題? enter image description here帶圓角的WPF MediaElement

<Border BorderBrush="#FF000000" BorderThickness="1,1,1,1" CornerRadius="20,20,20,20"> 
    <Grid> 
     <MediaElement x:Name="movieLoader" HorizontalAlignment="Left" Height="128" VerticalAlignment="Top" Width="236" Source="../video/empty.mp4"/> 
    </Grid> 
</Border> 

回答

3

試試這個:

<Border x:Name="border" BorderThickness="1" BorderBrush="#FF000000" CornerRadius="20" Padding="1" 
     HorizontalAlignment="Center" VerticalAlignment="Center"> 
    <Grid> 
     <Border Name="mask" Background="White" CornerRadius="{Binding ElementName=border, Path=CornerRadius}"/> 
     <Grid> 
      <Grid.OpacityMask> 
       <VisualBrush Visual="{Binding ElementName=mask}"/> 
      </Grid.OpacityMask> 
      <MediaElement x:Name="movieLoader" HorizontalAlignment="Left" Height="128" 
          VerticalAlignment="Top" Width="236" Source="../video/empty.mp4"/> 
     </Grid> 
    </Grid> 
</Border> 
+0

此解決方案有效,謝謝@kmatyaszek – Fire

1

設置ClipToBoundsTrue

<Border ClipToBounds="True" BorderBrush="#FF000000" BorderThickness="1" 
    CornerRadius="20"> 
    <Grid> 
     <MediaElement x:Name="movieLoader" HorizontalAlignment="Left" 
      Height="128" VerticalAlignment="Top" Width="236" 
      Source="../video/empty.mp4"/> 
    </Grid> 
</Border> 
+0

還是一樣,電影仍是長方形的形狀。任何想法? – Fire

+0

我不知道。這在過去對我有效。 –