2012-05-08 83 views
0

我正在爲Microsoft Surface創建應用程序。我有一個使用rendertransform旋轉180度的WPF控件,以便另一側的人可以使用它。有兩個,一個旋轉,一個不是。當用戶選擇控件上的選項卡時,控件將增長以適應選項卡大小。在沒有旋轉的那個上,高度動畫正確地工作,朝着屏幕的「頂部」向上「增長」。旋轉的方向朝向頂部方向增長,但它需要朝相反的方向增長。兩者都應該朝向屏幕的中心。WPF高度動畫 - 高度方向

設置(他們是地圖上的圖例):

<SurfaceWindow> 
    <Canvas> 
     <UserControl /> 
     <UserControl /> // rotated 
     <Map /> 
    </Canvas> 
</SurfaceWindow> 

有沒有辦法來控制高度動畫的方向是什麼?

感謝, 安德魯

回答

0

你並不需要兩個控件:只有一個用,說,「翻轉」屬性(或依賴屬性使用它在設計時)。當Flipped爲True時,應該在控件上設置旋轉並將VerticalAlignment設置爲Top。當錯誤時,沒有旋轉和垂直對齊到底部。

+0

不會有兩個可獨立編碼的控制,只是一個顯示兩次。什麼應該有VerticalAlignment? UserControl本身? –

+0

添加布局到問題 –

+0

我寧願使用網格來構造窗口而不是畫布。通過將每個列/行的寬度/高度設置爲正確的固定大小,自動大小(「自動」)或星形大小(「1 *」),您可以得到一個既漂亮又更易於維護的結果。是的,你可以在控件中設置VerticalAlignment來快速測試,或者使用類似於翻轉屬性的東西...我不會感到驚訝,當它被翻轉時,控件的一些其他屬性會改變。 – GameAlchemist

0

已解決。

使用LayoutTransform代替的RenderTransform

的如

Legend2.LayoutTransform = new RotateTransform(180); 

代替

Legend2.RenderTransform = new RotateTransform(180);