【发布时间】:2009-12-25 02:59:53
【问题描述】:
我正在使用 Silverlight 3。
我有一个有 2 列的网格,它们之间有一个 GridSplitter。 拖动时如何使 GridSplitter 捕捉到 5px 增量?
谢谢。
【问题讨论】:
标签: c# silverlight silverlight-3.0 gridsplitter
我正在使用 Silverlight 3。
我有一个有 2 列的网格,它们之间有一个 GridSplitter。 拖动时如何使 GridSplitter 捕捉到 5px 增量?
谢谢。
【问题讨论】:
标签: c# silverlight silverlight-3.0 gridsplitter
我最好的猜测是您必须捕获 MouseLeftButtonDown 事件并检测拖动。如果不拖动,则取消事件。如果检测到拖动,则在类变量中捕获开始位置。在 MouseMove 中,将鼠标位置与起始位置进行比较,并确定是增加还是减少 Grid Splitter 的位置。
要使其正常工作,我认为您需要根据上面的增量/减量决定以编程方式调整左侧网格列的宽度。
我很想知道这是怎么回事。
【讨论】:
GridSplitter 公开了 DragIncrement 属性,该属性设置用户必须拖动鼠标来调整行或列大小的最小距离。因此,您可以执行以下操作:
<GridSplitter Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" DragIncrement="5"/>
编辑:我刚刚意识到您在谈论 Silverlight。看起来 DragIncrement 属性仅在 WPF 中可用。对不起你的运气。
【讨论】: