Silverlight GridSplitter:模拟“对齐网格”

时间:2009-11-24 20:01:18

标签: c# silverlight silverlight-3.0 gridsplitter

我正在使用Silverlight 3。

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

谢谢。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

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

编辑:我刚才意识到你在谈论Silverlight。看起来DragIncrement属性仅在WPF中可用。抱歉,祝你好运。