允许网格项在网格上重叠?

时间:2011-08-22 09:01:02

标签: c# wpf

我试图在网格中给出的边界上创建一个Rectangle(或者UserControl)。

我构建了一个包含3X3项目的网格。这些项目(当悬停在上面时)应该通过将它乘以2来扩展它们的大小。但是,由于这些项目已经被赋予特定的边界(因为它们实际上是列和行的成员),它们不会与这些边界重叠。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

在这种情况下使用网格不是最佳选择,请考虑使用画布或可能是包装面板。由于WPF layout system的工作方式(排列/测量),元素通常不会越过它们的边界。

或者,在元素'ScaleTransform属性上使用RenderTransform也可以。查看this article以获取有关转换的更多信息。

答案 1 :(得分:0)

可能您正在尝试装饰所选项目(或鼠标悬停的项目)。您可以考虑写作风格(使用触发器)或装饰。

更新:从'Bas'取指针,我试过这个:

<Button Content="ABC"> 
        <Button.Style>
            <Style TargetType="{x:Type Button}">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="LayoutTransform" >
                            <Setter.Value>
                                <ScaleTransform ScaleX="2" ScaleY="2" />
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>

这很好用。