1

我正在使用 Silverlight 3。

我有一个有 2 列的网格,它们之间有一个 GridSplitter。拖动时如何使 GridSplitter 捕捉到 5px 增量?

谢谢你。

4

2 回答 2

2

我最好的猜测是您必须捕获 MouseLeftButtonDown 事件并检测拖动。如果不拖动,则取消事件。如果检测到拖动,则在类变量中捕获开始位置。在 MouseMove 中,将鼠标位置与起始位置进行比较,并确定是增加还是减少 Grid Splitter 的位置。

为了使它起作用,我认为您需要根据上面的增量/减量决定以编程方式调整左侧网格列的宽度。

我很想知道这是怎么回事。

于 2009-11-24T20:26:41.120 回答
0

GridSplitter 公开 DragIncrement 属性,该属性设置用户必须拖动鼠标以调整行或列大小的最小距离。因此,您可以执行以下操作:

<GridSplitter Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" DragIncrement="5"/>

编辑:我刚刚意识到你在谈论 Silverlight。看起来 DragIncrement 属性仅在 WPF 中可用。对不起你的运气。

于 2009-12-24T18:52:57.393 回答