保持usercontrol中的滑块不在WPF中缩放

时间:2011-10-19 08:10:42

标签: c# wpf touch scaling

我有一个用户控件,其中包含播放视频的媒体元素,用作视频轨迹栏的滑块以及显示视频标题的文本块。这3个控件放在一个网格中,而网格又放在边框内。

我希望用户能够翻译,旋转和缩放此控件。问题是,当控件缩放它的内容比例时,我希望滑块控件不缩放。是否有可能以某种方式阻止滑块控件缩放?

我还应该提一下,通过将控制ismanipulationenabled设置为true并使用操作delta事件来处理控件的操作。

编辑:

这是控件的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>

1 个答案:

答案 0 :(得分:0)

如果要构建完全可扩展的用户控件,则应仅使用行列/行行的大小值来定义布局,例如。 auto,x *或固定值(如果真的需要)。

不要在元素上使用固定大小的值。