XAML: 獲取元素的位置
阿新 • • 發佈:2018-02-12
homepage 方法 需求 href con 所有 aml pre bubuko 原文:XAML: 獲取元素的位置
在之前討論 ListView 滾動相關需求的文章中(UWP: ListView 中與滾動有關的兩個需求的實現)曾經提到了獲取元素相對位置的方法,即某元素相對另一元素的位置。現將所有相關方法再作整理,並且包括 UWP 與 WPF 兩者的實現,如下:
WPF(兩種方式):
GeneralTransform generalTransform = controlB.TransformToVisual(controlA); Point point = generalTransform.Trsnform(new Point());
Point point = controlB.TranslatePoint(newPoint(), controlA);
UWP:
GeneralTransform generalTransform = controlB.TransformToVisual(controlA); Point point = generalTransform.TrsnformPoint(new Point());
這裏需要註意的一點時,控件的 Margin 值是包括在計算結果之內的,比如 ControlB 包括 Margin 值,則其向上、向左的 Margin 值會被計算在最終結果內。
XAML: 獲取元素的位置