MyControl : ContentControl
| ContentProperty ________|__________ | | | Grid Canvas WrapPanel etc.. |_______|_________| | Drag Moving Childs
そのため、親 ContentControl に実装されているズーム、パン、子のドラッグとしてロジックを管理し、パネルのタイプを簡単に変更できます。
アレンジ・メジャーオーバーライドの問題、ドラッグ時のマウスの位置合わせが地獄になってしまいました。すべての位置がオフセットされているようです:
e.GetPosition(this.Content as Panel).X
Dragged Children を左側に大きなオフセットで移動させます。
と
Translate(Point,UIElement)
呼び出しのどの組み合わせでも効果がないようです:
this.Content.Translate(Point,Children);
また
Child.Content.Translate(Point,this.Content);
どちらも試していません:
Offset(x,y)
TranslateTransform または HitTest の前後。
同様のシナリオの良い例: http://www.codeproject.com/KB/WPF/zoomandpancontrol.aspx
HitTesting/DragMove でドラッグ オフセットを修正するにはどうすればよいですか? UnTranslable オフセットなしで TranslateTransform を機能させるために、Arrange/Measure Override で正確に何を修正できますか? ありがとう