2012-08-07 76 views
0

我在Screen中动态创建控件。如果我在屏幕上放置一个按钮,那么它应该突出显示并且显示位于最近放置的按钮附近的最近的按钮之间的距离。找到最近的控件

+0

它应该是兄弟姐妹(同一父母的孩子)还是它可以是任何控制? – 2012-08-07 05:59:55

回答

5
  1. 环通使用VisualTreeHelperhttp://www.codeproject.com/Articles/21495/Understanding-the-Visual-Tree-and-Logical-Tree-in整个视图的可视化树...这里检查TraverseVisualTree方法,您可以使用去通在可视树中的所有元素。
  2. 对于每个UIElement控制检查它的ActualWidth & Actualheight属性。
  3. 获取当前UIElement的相对坐标位置。使用此代码... http://blogs.msdn.com/b/llobo/archive/2006/05/02/code-for-getting-screen-relative-position-in-wpf.aspx

然后,使用(+ relativePosition.X ActualWidth的)和(relativePosition.Y +的ActualHeight)检查哪一个产生当前元素的最近距离的每个元素。