2013-08-30 20 views
5

In WPF, desidero creare un angolo arrotondato per il mio filmato, ma il film si sovrapporrà effettivamente al bordo e otterrò una normale scatola rettangolare che carica il mio filmato. Qualche idea su come risolvere questo problema? enter image description hereWPF MediaElement con angolo arrotondato

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

risposta

3

Prova questo:

<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

Questa soluzione funziona, grazie a @kmatyaszek – Fire

1

Impostare 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

Sempre lo stesso, il film è ancora in forma di rettangolo. Qualche idea? – Fire

+0

Non ne ho idea. Questo ha funzionato per me in passato. –

Problemi correlati