<ScrollViewer Grid.Row="1" Margin="12, 0, 12, 0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Canvas Name="Map" Width="1330" Height="924" Margin="0,0,0,0" Grid.RowSpan="2" Background="White">
<my1:LnBentTrack Canvas.Left="718" Canvas.Top="412" Height="43" x:Name="lnBentTrack15" Width="39" TrackStartPoint="0,40" TrackEndPoint="36,0" BentControlPoint="36,39" TrackColorBrush="Yellow" />
<my1:LnStraightTrack Angle="90" Canvas.Left="922" Canvas.Top="598" Height="18" x:Name="lnStraightTrack99" Width="12" TrackColor="Yellow" />
<my1:LnStraightTrack Angle="0" Canvas.Left="972" Canvas.Top="827" Height="11" x:Name="lnStraightTrack121" TrackColor="Yellow" Width="18" />
<my1:LnStraightTrack Angle="0" Canvas.Left="1007" Canvas.Top="827" Height="11" x:Name="lnStraightTrack120" TrackColor="Yellow" Width="18" />
</Canvas>
</ScrollViewer>
上面是代码,好多省略了,里面放了好多控件。
Canvas里也放了许多控件,手机的屏幕比较少,一次显示不全整个Canvas。
ScrollViewer可以通过水平滚动和垂直滚动来显示Canvas的其他区域,想实现像浏览图片那样的缩放,使得可以放大某个区域,或者缩小到手机屏幕能够显示整个Canvas。ScrollViewr好像不知道,请问大家怎么实现。
就像用手机查看图片,通过两只手指多点触摸,来进行图片的缩放。
但是我的都是控件,不是图片,应该怎么做啊???
你用porit 不就行了吗
你好,能说得详细点吗
就是用porit 来实现多个grid 切换,比如登陆操作什么的额
@疯子ck: porit也是一个控件吗?
@粗暴的香蕉: 是的,算是容器吧,就行画布一样,但它支持多个切换
@疯子ck: 谢谢,我试一下。另外我昨天想通过ScaleTransform来对控件进行缩放,我昨天试了下,修改顶层控件ScrollViewer的ScaleTransform.ScaleX和ScaleTransform.ScaleY,可以缩放,但是连Canvas一起缩放了。然后我试着去修改Canvas的ScaleTransform,但是Canvas里面的控件却没有变化。
<ScrollViewer Grid.Row="1" Margin="12, 0, 12, 0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Button x:Name="btn" Click="OnClick" Content="Button">
<Canvas Name="Map" Width="1330" Height="924" Margin="0,0,0,0" Grid.RowSpan="2" Background="White">
<Canvas.RenderTransform>
<ScaleTransform x:Name = "mapTransform"/>
</Canvas.RenderTransform>
<my1:LnBentTrack Canvas.Left="718" Canvas.Top="412" Height="43" x:Name="lnBentTrack15" Width="39" TrackStartPoint="0,40" TrackEndPoint="36,0" BentControlPoint="36,39" TrackColorBrush="Yellow"/> <my1:LnStraightTrack Angle="90" Canvas.Left="922" Canvas.Top="598" Height="18" x:Name="lnStraightTrack99" Width="12" TrackColor="Yellow"/> <my1:LnStraightTrack Angle="0" Canvas.Left="972" Canvas.Top="827" Height="11" x:Name="lnStraightTrack121" TrackColor="Yellow" Width="18"/> <my1:LnStraightTrack Angle="0" Canvas.Left="1007" Canvas.Top="827" Height="11" x:Name="lnStraightTrack120" TrackColor="Yellow" Width="18"/> </Canvas> </ScrollViewer>
Xaml如上,我在Button的OnClick里面去设置Canvas中的mapTransform,但是Canvas里面的内容没有任何变化。不知道为什么,我想如果可以这样做的话,应该是最简单的做法的。
请问你知道是什么原因吗??可以通过这样来实现缩放不