Windows Metro App:
我需要一种方法来查找组成ListView的项目(或单元格)的中心。 例如 : 如果我在一个填充ListView的堆栈面板中有一个Image和TextBlock,我想要该堆栈面板的中心或它包含的任何对象或视图。 (Windows 8新增功能) 在此先感谢.. !!
答案 0 :(得分:0)
下面是一些代码,它们将为您提供元素的中心点 - 它需要一个通用的FrameworkElement,因此您可以传入ListView,StackPanel或其他控件。
/// <summary>
/// Gets the center point of any element
/// </summary>
private Point GetCenterPoint(FrameworkElement element)
{
GeneralTransform buttonTransform = element.TransformToVisual(null);
// This gives the point in the upper left-hand corner of the element.
Point topLeftPoint = buttonTransform.TransformPoint(new Point());
// Now get the center point.
Point centerPoint = new Point();
centerPoint.X = topLeftPoint.X + element.ActualWidth / 2;
centerPoint.Y = topLeftPoint.Y + element.ActualHeight / 2;
return centerPoint;
}
希望这有帮助!