3

下面的代码包含一个简单的网格,在网格的中间列有一个按钮。按钮宽度(有意)大于放置它的列。请注意,按钮的左侧部分可见,右侧不可见。我该怎么做才能使左右按钮部分不可见?按钮的右侧部分位于右侧网格列的 z 下方,但按钮的左侧部分位于左侧网格列的 z 上方。我需要左按钮部分也被左网格列隐藏。

这是 XAML 的简化版本,我正在尝试为“电影片段”制作动画。胶片应放置在左右网格柱的z-下方和中间部分的z-上方。动画效果很好,但用户在左侧看到了一段时间的控件,她不应该看到这些控件应该被左侧网格列“覆盖”。

<Grid x:Name="LayoutRoot">
    <Border Background="Yellow" x:Name="ContentBorder">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="40"/>
                <ColumnDefinition />
                <ColumnDefinition Width="40"/>
            </Grid.ColumnDefinitions>

            <Grid Grid.Column="1" >
                <Button Content="Button" Margin="-20, 0, 0, 0" Width="240" Height="33"/>
            </Grid>
        </Grid>
    </Border>
</Grid>

4

1 回答 1

3

尝试添加 ClipToBounds

<Grid x:Name="LayoutRoot">
    <Border Background="Yellow" x:Name="ContentBorder">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="40"/>
                <ColumnDefinition />
                <ColumnDefinition Width="40"/>
            </Grid.ColumnDefinitions>
            <Grid Grid.Column="1" ClipToBounds="True" >
                <Button Content="Button" Margin="-20, 0, 0, 0" Width="240" Height="33"/>
            </Grid>
        </Grid>
    </Border>
</Grid>
于 2011-01-30T19:45:27.733 回答