0

我有以下布局

<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 将剪切溢出 Grid 的 Slider 的其余部分。所以我得到这样的结果 在此处输入图像描述 虽然我想得到这样的结果 在此处输入图像描述 那么我怎样才能强制 Slider 在不裁剪的情况下溢出 Grid 呢?是否有任何替代解决方案?事实上,我有更复杂的布局,所以现在欢迎使用 Canvas 而不是 Grid。

4

1 回答 1

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>
于 2012-06-07T19:57:47.913 回答