我正在使用Silverlight 3。
我有一个有2列的网格,它们之间有一个GridSplitter。 如何在拖动时使GridSplitter捕捉到5px增量?
谢谢。
答案 0 :(得分:2)
我最好的猜测是你必须捕获MouseLeftButtonDown事件并检测拖动。如果没有拖动,则取消该事件。如果检测到拖动,则捕获类变量中的起始位置。在MouseMove中,将鼠标位置与起始位置进行比较,并确定是否增加或减少Grid Splitter位置。
为了使其工作,我认为你需要根据上面的增量/减量决定以编程方式调整左网格列的宽度。
我很想知道这是怎么回事。
答案 1 :(得分:0)
GridSplitter公开DragIncrement属性,该属性设置用户必须拖动鼠标以调整行或列大小的最小距离。因此,您可以执行以下操作:
<GridSplitter Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" DragIncrement="5"/>
编辑:我刚才意识到你在谈论Silverlight。看起来DragIncrement属性仅在WPF中可用。抱歉,祝你好运。