Windows Metro 应用程序:
我需要一种方法来找到组成 ListView 的项目(或单元格)的中心。例如:如果我在填充 ListView 的 stackpanel 中有一个 Image 和 TextBlock,我想要该 stackpanel 的中心或它包含的任何对象或视图。(Windows 8 的新用户)提前致谢..!!
下面是一些代码,可以为您提供元素的中心点 - 它采用通用 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;
}
希望这可以帮助!