2011-09-25 5 views
1

Winformsでは、これを実現するために塗りつぶしとドッキングを使用します。ビデオを上部に塗りつぶし、下部にラベルを表示する方法。 (塗りとアンカー)

私はビデオファイルを再生したい場所の下にラベルを表示します。私はページを伸ばすことができ、ビデオを伸ばすことができ、ラベルがページの下部に留まるようにしたいと思います。

これまでの試みでは、再生時に常にビデオがラベルを覆います。どのようにこれを修正することができますか?

(StackPanelの中​​の他のコントロールが省略されている)(ダニエル月のおかげで)

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     x:Class="SDKSample.MediaElementExample" > 

    <DockPanel LastChildFill="True"> 
     <MediaElement Source="media\numbers.wmv" Name="myMediaElement" 
      LoadedBehavior="Manual" UnloadedBehavior="Stop" 
      MediaOpened="Element_MediaOpened" MediaEnded="Element_MediaEnded" 
      DockPanel.Dock="Top" Margin="50" /> 
     <StackPanel HorizontalAlignment="Center" Orientation="Horizontal" 
       Height="30" DockPanel.Dock="Bottom" Margin="50"> 
       <TextBlock Margin="5" VerticalAlignment="Center"> 
       Video Label 
       </TextBlock> 
     </StackPanel> 
    </DockPanel> 
</Page> 

ソリューション:

<Grid Height="Auto"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition Height="30"/> 
    </Grid.RowDefinitions> 

    <MediaElement Source="media\numbers.wmv" Name="myMediaElement" LoadedBehavior="Manual" UnloadedBehavior="Stop" 
    MediaOpened="Element_MediaOpened" MediaEnded="Element_MediaEnded" /> 
    <StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Height="30" Grid.Row="1"> 
     <Button Content="Button" Height="23" Name="button1" Width="75" Click="button1_Click" /> 
    </StackPanel> 
</Grid> 

答えて

1

あなたはGridを使用してこれを達成することができます。二RowDefinitionHeight属性を使用

<Grid Height="300" Width="300"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition Height="Auto"/> 
</Grid.RowDefinitions> 
    <MediaElement Source="media\numbers.wmv" 
      Name="myMediaElement" 
      LoadedBehavior="Manual" 
      UnloadedBehavior="Stop" 
      MediaOpened="Element_MediaOpened" 
      MediaEnded="Element_MediaEnded" /> 
    <TextBlock Margin="5" 
      Grid.Row="1" 
      VerticalAlignment="Center" 
      Text="Video Label" /> 
</Grid> 

、あなたはそれの内容をサイズにその行を強制します。先行するRowDefinitionは残りの空きスペース(あなたの場合はMediaElement)を埋めます。

関連する問題