通過上一篇的介紹大家應該已經了解到ScatterView 可以使開發者友善的實作控件的Manipulate 操作。細心的朋友可能發現了前面示例中矩形的縮放似乎有些問題,為了便于說明我們編寫如下代碼。
<Grid>
<s:ScatterView>
<Rectangle Fill="Blue" Width="200" Height="100"/>
<Ellipse Fill="Red" Width="150" Height="80"/>
</s:ScatterView>
</Grid>
在ScatterView 中分别加入了矩形和橢圓形,并且為兩個圖形分析别限定了長、寬尺寸。當我們對圖形進行縮放操作時發現,兩個圖形本身尺寸并沒有發生任何變化,隻有ScatterViewItem 尺寸變大了。似乎圖形的大小已經被長、寬參數限制住了。
Original
Resize
遇到這種情況時需要使用Viewbox 控件中,Viewbox 并不是Surface 2.0 SDK 的控件,而是一個WPF 控件。它可以使圖形随ScatterViewItem 尺寸的變化而變化。如下示例代碼制作兩個相同的矩形,并隻将其中一個嵌入Viewbox 控件。從圖中可以看到Viewbox 中的紅色矩形會根據ScatterViewItem 尺寸變化而自動調節。這樣當我們進行Manipulate 操作時,相應的控件尺寸也會随之變化。
<Viewbox>
<Rectangle Fill="Red" Width="200" Height="100"/>
</Viewbox>
本文轉自Gnie部落格園部落格,原文連結:http://www.cnblogs.com/gnielee/archive/2011/07/17/wpf-surface2sdk-manipulate-shape.html,如需轉載請自行聯系原作者