2011-10-19 11 views
2

ビデオを再生するメディア要素、ビデオのトラックバーとして使用されるスライダ、およびビデオのタイトルを表示するテキストブロックが含まれています。これらの3つのコントロールはグリッド内に配置され、境界内に配置されます。WPFのスケーリングからusercontrolのスライダを維持する

このコントロールを翻訳、回転、拡大縮小できるようにします。問題は、コントロールがコンテンツのスケールに合わせて縮尺を変えても、スライダーコントロールの縮尺を変えたくないということです。何とかスライダーコントロールをスケーリングから保護することは可能ですか?

コントロールの操作はismanipulationenabledコントロールをtrueに設定し、操作デルタイベントを使用することで処理されることにも言及する必要があります。

EDIT:

これは、制御のためのXAMLは、どのように見えるかです:あなたは完全にスケーラブルなユーザーコントロールを構築したい場合は

<Grid Name="movieGrid" ShowGridLines="True"> 

     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
      <Border x:Name="moviePlayerBorder" Background="Black" BorderBrush="Blue" BorderThickness="2,2,2,2" CornerRadius="5,5,5,5" Grid.RowSpan="2"> 

       <Grid Name="contentGrid"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="*"/> 
        </Grid.RowDefinitions> 
       <WinControls:MediaElement x:Name="movieDisplay" ScrubbingEnabled="True" IsEnabled="True" Grid.RowSpan="2" 
             LoadedBehavior="Manual" UnloadedBehavior="Manual" 
             MediaOpened="movieDisplay_MediaOpened"> 
      </WinControls:MediaElement> 


     <Image x:Name="btnPlay" Grid.Row="1" Height="60" Width="60" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="120,44,112,43" Grid.RowSpan="2"> 
       </Image> 

        <DockPanel LastChildFill="True" HorizontalAlignment="Stretch" Margin="6,2,6,0" Grid.Row="0"> 
         <TextBlock Text="test" Margin="0,0,0,0" Name="txtBlockTitlu" HorizontalAlignment="Stretch" 
        FontSize="14" VerticalAlignment="Top" Foreground="White" TextWrapping="Wrap" Visibility="Collapsed"/> 
        </DockPanel> 
       </Grid> 
      </Border> 



     <Slider x:Name="seekBar" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="299" 
         Thumb.DragStarted="seekBar_DragStarted" Thumb.DragCompleted="seekBar_DragCompleted" Thumb.DragDelta="seekBar_DragDelta" MaxHeight="33" 

         Minimum="0" Maximum="286" Height="33" Margin="0,0,0,0" Grid.Row="1"/> 

</Grid> 
+0

スライダに最大の高さと幅を設定しましたか? –

+0

@Redburnはい私はそれを試みたが、うまくいかなかった – Nashulmic

+0

いくつかのコードを投稿することは可能ですか? –

答えて

0

は、あなただけの大きさの値でレイアウトを定義する必要があります行/列の行。自動、x *または固定値(本当に必要な場合)。

要素に固定サイズの値を使用しないでください。

+0

私はスライダをスケーリングするのに興味がありません。私はユーザーコントロールが拡大縮小するときにスケーリングを避けたい。 – Nashulmic

関連する問題