MyControl : ContentControl
|
ContentProperty
________|__________
| | |
Grid Canvas WrapPanel etc..
|_______|_________|
|
Drag Moving Childs
Таким образом, становится проще изменить тип панели, управляя логикой как Zoom, Pan, Drag Children, реализованной в Parent ContentControl.
Arrange /Проблемы измерения переопределения, позиционирование мыши при перетаскивании стало адом.Кажется, что все позиции смещены:
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?Что именно я могу исправить в Arrange / Measure Override, чтобы иметь работающий TranslateTransform без смещения UnTranslable?Спасибо