MyControl : ContentControl
| ContentProperty ________|__________ | | | Grid Canvas WrapPanel etc.. |_______|_________| | Drag Moving Childs
因此,更容易更改Panel的类型,将Logics保存为缩放,平移,拖动子项,在Parent 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吗? 感谢
答案 0 :(得分:1)
最后我有时间继续我的项目,最后,谷歌搜索,我发现一些有趣的,非常有用的回复WPF坐标系:
http://www.xtremevbtalk.com/showthread.php?t=322142
就是这样。自己回复。 如果我有时间发表一篇关于它的文章,我会很高兴。 感谢所有人的兴趣。 如果有人想回复,我会很高兴。
答案 1 :(得分:0)
最后我找到了一个起点:
http://forums.silverlight.net/t/20520.aspx
我猜我的内容布局(面板)显然受其容器的影响: 在这个链接中有类似于我正在搜索的回复,但它没有清楚地解释ContentControl中的子面板是如何被其父内容控件彻底修改的:它将如何安排其子项?到现在为止,我可以确保内容控件内容控件不会像原始(非嵌套)行为那样排列/测量其子元素。 我应该在ContentControl中如何修改具有“Canvas Arrange and Canvas Measure”的Canvas?我是否需要修改其ContentPresenter?如果是,怎么做? 经过更深入的谷歌搜索或有人在我之前解决后的新闻! 谢谢!