如何在其中强制元素溢出Grid

时间:2012-06-07 19:32:05

标签: windows-phone-7 layout

我有以下布局

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid Height="100" Background="Wheat" Opacity="0.4">
        <StackPanel Orientation="Vertical" VerticalAlignment="Bottom">
            <Slider Orientation="Vertical" Height="170" HorizontalAlignment="Center" Background="White" />
            <Button Content="Btn" Width="100"/>
        </StackPanel>
    </Grid>
</Grid>

在这种情况下,Grid会剪切其余的Slider,它会溢出Grid。 所以我得到这样的结果 enter image description here 虽然我想得到这样的结果 enter image description here 那么我如何强制滑块溢出网格而不剪裁呢?这有什么替代解决方案吗? 实际上我有更复杂的布局,所以现在欢迎使用Canvas而不是Grid。

1 个答案:

答案 0 :(得分:0)

您可以使用单个Grid并使用其子级的Grid.RowSpanGrid.ColumnSpan属性进行播放。

<Grid x:Name="LayoutRoot"
      Background="Transparent">
  <Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition Width="*" />
  </Grid.ColumnDefinitions>

  <Rectangle Grid.Row="2"
             Grid.Column="0"
             Grid.ColumnSpan="3"
             Height="100"
             Fill="Wheat"
             Opacity="0.4" />

  <StackPanel Grid.Row="1"
              Grid.RowSpan="2"
              Grid.Column="1">
    <Slider Orientation="Vertical"
            Height="170"
            HorizontalAlignment="Center"
            Background="White" />
    <Button Content="Btn"
            Width="100" />
  </StackPanel>
</Grid>