我正在编写一个Windows Phone 8应用程序,我遇到了一些UI问题。我想要一个控件,它将拉伸到整个屏幕的宽度,并将水平流动其子控件(以填充空间)。
目前,我有一个StackPanel,其Orientation = Horizontal,但它不允许子控件(滑块)具有HorizontalAlignment = Stretch(实际上是拉伸)。我可以手动拉伸滑块,但我不想要硬编码尺寸..
以下是代码:
<StackPanel Orientation="Horizontal">
<TextBlock Text="Hue Bins" />
<Slider x:Name="HueBins" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Value="24" Maximum="36" Minimum="1"/>
</StackPanel>
以及生成的图像:
在普通的WPF中,有Dockpanel控件,但WP8似乎不存在。无论如何都要模仿这种行为吗?
答案 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>