ScrollVIEwer在Silverlight中是一个很常用的控件,它有以下一些常用可设置属性:
HorizontalScrollbarVisibility:水平方向滚动条
VerticalScrollbarVisibility:垂直方向滚动条,其值为ScrollbarVisibility枚举类型分为
Disabled:不显示,但是可以通过鼠标或者键盘移动文字内容
auto:根据内容宽度和高度自动决定是否出现滚动条
HIDden:总是隐藏滚动条,无法移动被遮挡的内容
Visible:总是显示滚动条
ScrollToHorizontalOffset:设置ScrollVIEwer的内容水平偏移量
ScrollToVerticalOffset:设置ScrollVIEwer的内容垂直偏移量
ScrollvIEwer的只可获取属性如下:
VerticalOffset:内容的垂直偏移量
HorizontalOffset:内容的水平偏移量
ExtentHeight:内容的总垂直高度
ExtentWIDth:内容的总水平宽度
VIEwportHeight:可见内容的垂直高度
VIEwportWIDth:可见内容窗口的水平宽度
ActualHeight:ScrollVIEwer控件的实际高度
ActualHeight:ScrollVIEwer控件的实际宽度
下面我们通过一个实例来看ScrollVIEwer的具体应用以及获取他们的值,Xaml代码如下:
<GrID x:name="LayoutRoot" Background="White"> <Canvas> <ScrollVIEwer name="sVIEw" Height="300" WIDth="300" HorizontalScrollbarVisibility="auto" VerticalScrollbarVisibility="auto" > <ScrollVIEwer.Content> <Canvas Height="400" WIDth="400"> <Rectangle name="retBlue" WIDth="200" Height="200" Fill="#FF45C2AD" /> <Rectangle name="retBlue2" WIDth="200" Height="200" Fill="#FFC24588" Canvas.left="200" /> <Rectangle name="retBlue3" WIDth="200" Height="200" Fill="#FFB8C245" Canvas.top="200" /> <Rectangle name="retBlue4" WIDth="200" Height="200" Fill="#FF4532AD" Canvas.top="200" Canvas.left="200" /> </Canvas> </ScrollVIEwer.Content> </ScrollVIEwer> <button Canvas.left="314" Canvas.top="45" Content="设 置" Height="23" name="button1" WIDth="75" Click="button1_Click" /> <button Canvas.left="314" Canvas.top="85" Content="查 看" Height="23" name="button2" WIDth="75" Click="button2_Click" /> <sdk:Label Canvas.left="14" Canvas.top="306" Height="28" name="label1" WIDth="125" /> <sdk:Label Canvas.left="175" Canvas.top="306" Height="28" name="label2" WIDth="125" /> <sdk:Label Canvas.left="14" Canvas.top="332" Height="28" name="label3" WIDth="125" /> <sdk:Label Canvas.left="175" Canvas.top="332" Height="28" name="label4" WIDth="125" /> <sdk:Label Canvas.left="14" Canvas.top="358" Height="28" name="label5" WIDth="125" /> <sdk:Label Canvas.left="175" Canvas.top="358" Height="28" name="label6" WIDth="125" /> <sdk:Label Canvas.left="13" Canvas.top="384" Height="28" name="label7" WIDth="125" /> <sdk:Label Canvas.left="174" Canvas.top="384" Height="28" name="label8" WIDth="125" /> </Canvas> </GrID>
然后我们来看其cs后台代码如下:
public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); } bool show = true; private voID button1_Click(object sender,RoutedEventArgs e) { if (show) { //设置ScrollVIEwer的内容水平偏移量 this.sVIEw.ScrollToHorizontalOffset(50); //设置ScrollVIEwer的内容垂直偏移量 this.sVIEw.ScrollToVerticalOffset(50); } else { this.sVIEw.ScrollToHorizontalOffset(0); this.sVIEw.ScrollToVerticalOffset(0); } show = !show; } private voID button2_Click(object sender,RoutedEventArgs e) { //内容的垂直偏移量 string vo = sVIEw.VerticalOffset.ToString(); //内容的水平偏移量 string ho = sVIEw.HorizontalOffset.ToString(); //内容的总垂直高度 string eh = sVIEw.ExtentHeight.ToString(); //内容的总水平宽度 string ew = sVIEw.ExtentWIDth.ToString(); //可见内容的垂直高度 string vh = sVIEw.VIEwportHeight.ToString(); //可见内容窗口的水平宽度 string vw = sVIEw.VIEwportWIDth.ToString(); //ScrollVIEwer控件的实际高度 string ah = sVIEw.ActualHeight.ToString(); //ScrollVIEwer控件的实际宽度 string aw = sVIEw.ActualHeight.ToString(); this.label1.Content = "VerticalOffset:" + vo; this.label2.Content = "HorizontalOffset:" + ho; this.label3.Content = "ExtentHeight:" + eh; this.label4.Content = "ExtentWIDth:" + ew; this.label5.Content = "VIEwportHeight:" + vh; this.label6.Content = "VIEwportWIDth:" + vw; this.label7.Content = "ActualHeight:" + ah; this.label8.Content = "ActualHeight:" + aw; sVIEw.HorizontalScrollbarVisibility = ScrollbarVisibility.Disabled; } }
最后如需源码请点击 SLScrollView.zip 下载,实例效果图如下:
总结以上是内存溢出为你收集整理的Silverlight实用窍门系列:69.Silverlight的ScrollViewer全部内容,希望文章能够帮你解决Silverlight实用窍门系列:69.Silverlight的ScrollViewer所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)