2013-08-30 18 views
5

In WPF möchte ich eine abgerundete Ecke für meinen Film erstellen, aber der Film überschneidet sich tatsächlich mit dem Rahmen und ich bekomme eine normale Rechteckbox, die meinen Film lädt. Irgendeine Idee, wie man dieses Problem löst? enter image description hereWPF MediaElement mit abgerundeter Ecke

<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> 

Antwort

3

Try this:

<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

Diese Lösung funktioniert, danke @kmatyaszek – Fire

1

Set ClipToBounds-True.

<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

Immer noch die gleichen, der Film noch in Rechteckform ist. Irgendeine Idee? – Fire

+0

Ich habe keine Ahnung. Das hat in der Vergangenheit für mich funktioniert. –