我有一个图像编辑应用程序,我有一个自定义装饰器,其中添加到一个AdornerLayer。当用户点击一个装饰器时,我想把它带到顶部-这意味着如果它被拖到另一个装饰器上,我希望第一次点击被最上面的装饰器捕捉到。
我不知道如何更改AdornerLayer的子元素的z顺序。它似乎不允许我对它们进行排序。即使我删除并重新添加装饰器,它也不会到达最顶端。
发布于 2012-06-29 00:41:25
请看一下,
http://social.msdn.microsoft.com/forums/en-us/wpf/thread/C6780661-EF6D-4141-B4CA-0C7A2461D314
发布于 2012-09-22 19:31:37
我也有类似的问题,但只需要对我的装饰器进行特定的排序。我最终使用反射来设置顺序:
var setZOrderMethodInfo = adornerLayer.GetType().GetMethod("SetAdornerZOrder", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
setZOrderMethodInfo.Invoke(adornerLayer, new object[] { adorner1, 0 });
setZOrderMethodInfo.Invoke(adornerLayer, new object[] { adorner2, 1 });来自http://social.msdn.microsoft.com/Forums/en/wpf/thread/40bff84e-c4b5-4ea0-87ea-43461df9f24b
https://stackoverflow.com/questions/11088135
复制相似问题