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 に答える