屏幕上有一固定区域,不断刷新即时信息,当文字超出显示区域时,将自动滚动。重点是利用ScrollVIEwer的VerticalOffset,ScrollableHeight属性和ScrollToVerticalOffset方法。
一 前台silverlight代码
其中VerticalScrollbarVisibility="HIDden"用于将竖直滚动条隐藏。
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="SilverlightApplication1.MainPage" WIDth="640" Height="480"> <GrID x:name="LayoutRoot" Background="White"> <GrID.Resources> <Storyboard x:name="board" Completed="board_Completed" BeginTime="0:0:1"/> </GrID.Resources> <ScrollVIEwer name="TestScrollVIEwer" VerticalScrollbarVisibility="HIDden" margin="94,29,300,263"> <TextBlock name="txt" textwrapPing="Wrap" ></TextBlock> </ScrollVIEwer> <TextBlock Height="21" HorizontalAlignment="left" margin="371,68,0" name="textBlock1" Text="VerticalOffset:" VerticalAlignment="top" WIDth="89" /> <TextBlock name="VerticalOffset" Height="30" HorizontalAlignment="left" margin="475,64,0" Text="" VerticalAlignment="top" WIDth="65" /> <TextBlock Height="21" HorizontalAlignment="left" margin="370,34,0" name="textBlock2" Text="ScrollableHeight:" VerticalAlignment="top" WIDth="99" /> <TextBlock Height="30" HorizontalAlignment="left" margin="475,25,0" name="ScrollableHeight" Text="" VerticalAlignment="top" WIDth="65" /> <button name="start" Content="开始滚动" margin="94,241,194" HorizontalAlignment="left" WIDth="83"></button> <button name="stop" Content="停止滚动" margin="194,194" HorizontalAlignment="left" WIDth="83" /> </GrID></UserControl>
二 后台C#代码
using System;using System.windows;using System.windows.Controls;using System.windows.documents;using System.windows.Ink;using System.windows.input;using System.windows.Media;using System.windows.Media.Animation;using System.windows.Shapes;namespace SilverlightApplication1{ public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); start.Click += new RoutedEventHandler(startbutton_Click); stop.Click += new RoutedEventHandler(stopbutton_Click); txt.Text = "IP是现代IC设计行业中越来越受重视的核心技术。当今的芯片复杂程度越来 越高,甚至可包含整个系统的功能。如此复杂的SOC(System-on-a-Chip) 产品是由 许许多多的功能模块所组成,包括有cpu内核、DSP内核,以及各种各样的外部 总线接口内核,如PCI/X、PCI-Express、USB、I2C或Ethernet等接口内核。一个 SOC芯片通常只有一、两个cpu或DSP内核,但却可能包含众多的各类总线接口 内核。这些内核若全靠各个设计公司自己开发,不仅耗时耗人工,而且对产品的 核心功能没有任何增值。如果IC设计用户选用了优质的IP产品,不仅可以省去他们自己开发这些内核 所需花费的人力物力,而且省去了仿真和调试这些内核代码所耗费的大量宝贵时 间。调查发现,IC设计公司花费在仿真和调试RTL代码的时间占到其整个产品设计 周期的三分之二以上。若能减去这不必要的仿真和调试周期,不仅可使设计产品 早日进入市场,而且可以省去大量研发开销。"; } voID startbutton_Click(object sender,RoutedEventArgs e) { board.Begin(); } private voID board_Completed(object sender,EventArgs e) { //取得滚动条滚动的位置 double size = TestScrollVIEwer.VerticalOffset; VerticalOffset.Text = size.ToString(); ScrollableHeight.Text = TestScrollVIEwer.ScrollableHeight.ToString(); if (TestScrollVIEwer.VerticalOffset >= TestScrollVIEwer.ScrollableHeight) { TestScrollVIEwer.ScrollToVerticalOffset(0); } else { TestScrollVIEwer.ScrollToVerticalOffset((size+6)); } board.Begin(); } private voID stopbutton_Click(object sender,RoutedEventArgs e) { board.Stop(); } }}
效果如下: 总结
以上是内存溢出为你收集整理的silverlight应用(一):ScrollViewer 文字滚动全部内容,希望文章能够帮你解决silverlight应用(一):ScrollViewer 文字滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)