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 の残りをクリップします。だから私はこのような ここに画像の説明を入力 結果を得ています このような結果を得たい のですがここに画像の説明を入力 、クリッピングせずにスライダーを強制的にグリッドをオーバーフローさせるにはどうすればよいですか? これに対する代替ソリューションはありますか?実際、私はより複雑なレイアウトを持っているので、Grid の代わりに Canvas を使用することは大歓迎です。

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 に答える