在之前討論 ListView 滾動(dòng)相關(guān)需求的文章中(UWP: ListView 中與滾動(dòng)有關(guān)的兩個(gè)需求的實(shí)現(xiàn))曾經(jīng)提到了獲取元素相對(duì)位置的方法,即某元素相對(duì)另一元素的位置。現(xiàn)將所有相關(guān)方法再作整理,并且包括 UWP 與 WPF 兩者的實(shí)現(xiàn),如下:
WPF(兩種方式):
GeneralTransform generalTransform = controlB.TransformToVisual(controlA);
Point point = generalTransform.Trsnform(new Point());
Point point = controlB.TranslatePoint(new Point(), controlA);
UWP:
GeneralTransform generalTransform = controlB.TransformToVisual(controlA);
Point point = generalTransform.TrsnformPoint(new Point());
這里需要注意的一點(diǎn)時(shí),控件的 Margin 值是包括在計(jì)算結(jié)果之內(nèi)的,比如 ControlB 包括 Margin 值,則其向上、向左的 Margin 值會(huì)被計(jì)算在最終結(jié)果內(nèi)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持html5模板網(wǎng)。
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!