0
Point relativePoint = myVisual.TransformToAncestor(rootVisual)
.Transform(new Point(0, 0));
這個代碼塊是非常有用的,但是,我使用MVVM因此代碼塊對我來說是無用的嗎?如何獲取WPF中控件的XY座標?
我想在不使用rootVisual的情況下獲取X & Y.
謝謝&最好的問候。
Point relativePoint = myVisual.TransformToAncestor(rootVisual)
.Transform(new Point(0, 0));
這個代碼塊是非常有用的,但是,我使用MVVM因此代碼塊對我來說是無用的嗎?如何獲取WPF中控件的XY座標?
我想在不使用rootVisual的情況下獲取X & Y.
謝謝&最好的問候。
林不知道我是否理解你的問題的權利。你根本不想使用rootVisual,或者只能通過myVisual訪問?
是這樣的:
var parent = VisualTreeHelper.GetParent(myVisual) as UIElement;
Point relativePoint = myVisual.TransformToAncestor(parent)
.Transform(new Point(0, 0));
Window.Left給你的x座標,而window.Top給你Y座標
如果你使用MVVM,您的視圖模型不應該在乎的觀點,所以你爲什麼要這樣做? – 2013-03-20 13:29:48
我想通過ViewModel在2個控件之間畫一條線。 – vercin 2013-03-20 13:31:21
這不是ViewModel的工作,你應該在視圖中進行。 ViewModel應該只觸發這個動作(例如使用事件或信使/中介),而不是實際執行它。該視圖可以在代碼隱藏中訂閱事件以實際繪製線條。 – 2013-03-20 14:31:35