【问题标题】:Dockpanel behaviour in WP8WP8 中的 Dockpanel 行为
【发布时间】:2013-01-12 08:23:22
【问题描述】:

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

目前,我有一个方向 = 水平的 StackPanel,但它不允许子控件(滑块)有一个 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>

以及生成的图像:

在普通的 WPF 中,有 Dockpanel 控件,但 WP8 似乎不存在。反正有没有模仿这种行为?

【问题讨论】:

    标签: c# wpf windows-phone-8


    【解决方案1】:

    您可以将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>
    

    【讨论】:

    • 我总是忘记这个!非常感谢。太完美了!!
    【解决方案2】:

    您可以在此处尝试从 Silverlight Toolkit 中提取的版本,以及他们为 WP7 所做的一些调整 http://www.geekchamp.com/articles/using-dockpanel-in-wp7

    如果您需要更多内容,请使用整个 Silverlight 工具包 http://silverlight.codeplex.com/ (因为从它派生的 Windows Phone Toolkit 似乎不包含 DockPanel)

    有关编译 DockPanel 所需内容的一些信息(但下载链接已损坏)位于 http://matthiasshapiro.com/2010/06/28/using-wrappanel-and-dockpanel-in-windows-phone-7-with-blend/

    更新:我使用上面提到的信息来设置http://DockPanel.codeplex.com。它工作正常,除了所有顶部/左侧/右侧/底部/中间项目都在布局中添加在一起的情况,至少在 Windows Phone 上它在这种情况下做了一些错误的布局

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 2012-07-23
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多