2012-05-21 66 views
0

我開發使用WPF用MVVM我的系統和我無法找出解決以下問題的最好辦法:使WPF用戶控件轉換內部

我有一個畫面中,許多部件(用戶控件)在特定位置繪製。根據屏幕虛擬機計算的綁定變量對屏幕中的所有組件進行旋轉,平移和縮放。

但是,這些組件中的每個組件都可能具有不同的旋轉中心,翻譯的不同來源和不同的比例,取決於內部變量和屏幕比例。

如何在用戶控件中進行內部轉換計算?我認爲更簡單的方法是使用Converter,但是由於我有許多不同的用戶控件具有不同的行爲,我將不得不創建多個彼此非常相似的轉換器,這不是理想的解決方案。

非常感謝您的幫助!

+1

現在好多了...... – jpnavarini

回答

0

A UIElement只有一個RenderTransformOrigin。 一些變換允許您設置爲這種轉變的起源,但相對於控制邊界座標(例如:125, 34)不喜歡RenderOrigin比例座標(例如:0.5, 0.75

所以,如果你使用的座標你」很好去。

如果不是,您可以通過創建轉換組來構建轉換組,首先轉換控件,然後執行轉換,然後轉回控制。

如果您需要更多幫助,請發佈您想要實現的示例。