WP8中的Dockpanel行为

时间:2013-01-28 21:23:25

标签: c# wpf windows-phone-8

我正在编写一个Windows Phone 8应用程序,我遇到了一些UI问题。我想要一个控件,它将拉伸到整个屏幕的宽度,并将水平流动其子控件(以填充空间)。

目前,我有一个StackPanel,其Orientation = Horizo​​ntal,但它不允许子控件(滑块)具有Horizo​​ntalAlignment = Stretch(实际上是拉伸)。我可以手动拉伸滑块,但我不想要硬编码尺寸..

以下是代码:

<StackPanel Orientation="Horizontal">
    <TextBlock Text="Hue Bins"  />
    <Slider x:Name="HueBins" VerticalAlignment="Bottom" HorizontalAlignment="Stretch"  Value="24" Maximum="36" Minimum="1"/>
</StackPanel>

以及生成的图像:

enter image description here

在普通的WPF中,有Dockpanel控件,但WP8似乎不存在。无论如何都要模仿这种行为吗?

1 个答案:

答案 0 :(得分:7)

您可以将Grid用于两列:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <TextBlock Text="Hue Bins"  />
    <Slider x:Name="HueBins" Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Value="24" Maximum="36" Minimum="1"/>
</Grid>