2010-03-23 29 views
1

我在畫布中爲我的對象做了一些轉換,如旋轉和轉換。WPF轉換運動

以後如何存儲新座標?如果我嘗試移動對象,它只會使用新的變換。

回答

0

從我所看到的,這是相當不平凡的。一般來說,你會想讓WPF爲你處理這種事情。

這就是說,這是我已經能夠想出,based on information from here。給定一個文本塊「textBlockName」:

HwndSource hwndSource = PresentationSource.FromVisual(textBlockName) as HwndSource; 

Visual root = hwndSource.RootVisual; 

// Translate the point from the visual to the root. 

GeneralTransform transformToRoot = textBlockName.TransformToVisual(root); 

Point p = new Point(0,0); 

p = transformToRoot.Transform(p); 

p = hwndSource.CompositionTarget.TransformToDevice.Transform(p) ; 

//Display the top left point of the text box, after transforms. 
MessageBox.Show(p.ToString()); 

編輯:這進一步看,我找不到更好的解決了這一點。不過,這似乎處理了我所能想到的所有情況。

+0

事實上,我設法做到了而不用轉換。我使用自己的位圖旋轉等。 – Robbskinizer