2010-06-13 158 views
0

我期待自己在WPF中做更好的方法,我通常會手動進行操作。平滑地旋轉Viewbox內容

在這種情況下,我有一個ViewBox和一個圖像。我也有一個使用DoubleAnimation將圖像90向右旋轉的按鈕。

這個動畫效果很好,但很明顯,因爲它是正方形的,所以圖像與ViewBox「最合適」,這使得旋轉看起來很糟糕,因爲它的最長邊緣縮小或增長以適應該特定的旋轉角度。

我正在尋找關於使用適當的WPF方法來處理此問題的最佳方法的任何建議。很顯然,我可以手動完成所有的計算,但是我更希望找到一種方法來使用.NET架構中內置的控件和方法。

感謝您的幫助。

回答

0

如果您的ViewBox中只有Image,請刪除該視圖框。圖像已能夠正確伸展,Stretch屬性設置爲Uniform

在任何情況下,請使用RenderTransform而不是LayoutTransform,以避免在圖像旋轉時重新計算控件的位置。在所有位置計算完成後,RenderTransform將旋轉對象,這樣你就會好起來的。如果在旋轉時發現它經過了一些控制,只需在圖像周圍添加邊距。