MyControl : ContentControl
| ContentProperty ________|__________ | | | Grid Canvas WrapPanel etc.. |_______|_________| | Drag Moving Childs
所以,让我们很容易改变面板的类型,mantaining逻辑缩放,平移,将儿童,由家长ContentControl中实现。ContentControl中排列/测量子面板
排列/测量覆盖问题,拖动时的鼠标定位已经变成地狱。 似乎所有的位置都抵消:
e.GetPosition(this.Content as Panel).X
让孩子拖一个巨大的移动左侧偏移。
和
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将偏移? 我可以在排列/度量覆盖中修改哪些参数以使工作TranslateTransform不带UnTranslable偏移量? 感谢
哇,这是很多文字。也许你可以把它分解成几个具体的问题? –