0

我正在尝试创建一个滑块控件,它将确定我的 MainPage 中的视频画笔的 scaletransform,并且想知道是否有可能以某种方式将此滑块放在视频画笔的顶部(我想全屏显示)?目前我正在为我的布局使用一个网格,其中一个视频画笔占据了整个屏幕,除了屏幕底部的两个按钮,但我想可能使用一个画布并以一种可以考虑当前的方式放置这个滑块和未来的 Windows Phone 设备的屏幕尺寸。我不确定如何在不为滑块设置恒定尺寸的情况下准确完成此操作。例如,滑块可以在纵向模式下水平放置在屏幕底部附近,并且在左侧和右侧之间有 50 像素的空间。有人可以协助如何做到这一点吗?

编辑

在 videobrush 上放置一个子元素可以工作,尽管我想放置多个滑块,这会产生错误。我还想在每个滑块的上方和下方添加信息,因此我选择了一个堆栈面板来执行此操作(但只允许一个堆栈面板作为子元素?)。

<Border x:Name="videoRectangle" Grid.Row="0" Grid.ColumnSpan="2" >
            <Border.Background>
                <VideoBrush  x:Name="viewfinderBrush">
                    <VideoBrush.RelativeTransform>
                        <CompositeTransform x:Name="viewfinderBrushTransform" CenterX=".5" CenterY=".5" Rotation="90" />
                    </VideoBrush.RelativeTransform>
                </VideoBrush>
            </Border.Background>

            <!--<StackPanel VerticalAlignment="Top">
                <TextBlock x:Name="resolutionValueTextBlock" HorizontalAlignment="Center" Text="{Binding Value, ElementName=resolutionSlider}"/>
                <Slider x:Name="resolutionSlider" HorizontalAlignment="Stretch" Margin="50,5,50,5"/>
                <TextBlock x:Name="resolutionTextBlock" HorizontalAlignment="Center" Text="resolution"/>
            </StackPanel>-->

            <StackPanel VerticalAlignment="Bottom">
                <TextBlock x:Name="zoomNumberTextBlock" HorizontalAlignment="Center" Text="{Binding Value, ElementName=zoomSlider}"/>
                <Slider x:Name="zoomSlider" HorizontalAlignment="Stretch" Margin="50,5,50,5"/>
                <TextBlock x:Name="zoomTextBlock" HorizontalAlignment="Center" Text="zoom"/>
            </StackPanel>

</Border>

如果可能的话,我希望两个堆栈面板都可用,但如果不是,我想我只能使用底部的一个。

4

1 回答 1

1

留在网格中:

<Grid>
    <Rectangle>
        <Rectangle.Fill>
            <VideoBrush ... />
        </Rectangle.Fill>
    </Rectangle>
    <Slider HorizontalAlignment="Stretch"
            VerticalAlignment="Bottom"
            Margin="50,5,50,5"/>
</Grid>
于 2012-07-31T08:53:56.943 回答