Das ProblemMit welchen Methoden kann ich die Reihenfolge von übereinanderliegenden Objekten beeinflussen? Die LösungErstellen Sie in Expression Blend 2 eine neue Silverlight 2-Anwendung und fügen Sie dieser ein Video im WMV-Format hinzu. Platzieren Sie dieses Video per Drag&Drop aus dem Projektordner auf der Bühne.
<MediaElement x:Name="Coral_Reef_Adventure_720_wmv"
Source="Coral_Reef_Adventure_720.wmv"
Stretch="Uniform"/>
Anschließend ziehen Sie ein beliebiges Element, z.B. ein Grid-Element über das Video. Sie können die Reihenfolge der Elemente nun entweder über die Reihenfolge im XAML-Code steuern. Dabei gilt das unterste Element im Code wird als oberstes angezeigt. Bei einer großen Anzahl an Objekten oder wenn die Reihenfolge dynamisch zur Laufzeit verändert werden soll, bietet sich die Steuerung über die Eigenschaft z-index der betreffenden Objekte an. Deren Standardwert ist stets 0. Diese Eigenschaft „überschreibt“ die Reihenfolge, die durch die Reihenfolge im Code definiert wird. Hier ein Beispiel für ein Video Overlay:
<Grid x:Name="LayoutRoot" Background="White">
<MediaElement x:Name="Coral_Reef_Adventure_720_wmv"
Source="Coral_Reef_Adventure_720.wmv"
Stretch="Uniform"/>
<Grid HorizontalAlignment="Left"
Width="200"
VerticalAlignment="Center"
Height="360"
Background="#E5336699">
<Grid.OpacityMask>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#33000000"/>
<GradientStop Color="#33000000" Offset="1"/>
<GradientStop Color="#FF000000" Offset="0.5"/>
</LinearGradientBrush>
</Grid.OpacityMask>
<TextBlock Text="Video Overlays"
TextWrapping="Wrap"
Foreground="#FFFFFFFF"
VerticalAlignment="Center"
HorizontalAlignment="Left"
Margin="20,0,0,0"
FontWeight="Bold"
FontFamily="Benutzeroberfläche für tragbare Geräte"
FontSize="16"/>
</Grid>
</Grid>
|