WPF 与Surface 2.0 SDK 亲密接触 - 图形缩放篇

 通过上一篇的介绍大家应该已经了解到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

Original 

Resize 

     遇到这种情况时需要使用Viewbox 控件中,Viewbox 并不是Surface 2.0 SDK 的控件,而是一个WPF 控件。它可以使图形随ScatterViewItem 尺寸的变化而变化。如下示例代码制作两个相同的矩形,并只将其中一个嵌入Viewbox 控件。从图中可以看到Viewbox 中的红色矩形会根据ScatterViewItem 尺寸变化而自动调节。这样当我们进行Manipulate 操作时,相应的控件尺寸也会随之变化。

<Grid>
    <s:ScatterView>
        <Rectangle Fill="Blue" Width="200" Height="100"/>
        <Viewbox>
            <Rectangle Fill="Red" Width="200" Height="100"/>
        </Viewbox>
    </s:ScatterView>
</Grid>
Viewbox







本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2011/07/17/wpf-surface2sdk-manipulate-shape.html,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值