我正在开发一个silverlight自动收报机应用程序,可以看到5个链接,它们将像股票代码一样移动(从右到左)。 我能够解析i / p xml文件,同时获取标题和相应的网址,这些网页正好在页面中正常运行,也就像自动收报机那样移动,但圆形效果丢失。意味着连续的链接流不是正确。
<Grid x:Name="LayoutRoot">
<StackPanel x:Name="mystackpanel" Grid.Column="1" Orientation="Vertical">
<Canvas>
<Canvas.Resources>
<Storyboard x:Name="sb">
<DoubleAnimation x:Name="da" BeginTime="00:00:05"
Storyboard.TargetName="LinkList"
Storyboard.TargetProperty="(Canvas.Left)"
From="0" To="-500" Duration="0:0:5" RepeatBehavior="Forever"/>
</Storyboard>
</Canvas.Resources>
<ListBox x:Name="LinkList"
BorderThickness="0"
Opacity="0.5"
HorizontalAlignment="Left"
>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel x:Name="panel" Orientation="Horizontal" HorizontalAlignment="Left"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<HyperlinkButton x:Name="mylink"
Foreground="Black"
FontSize="10"
FontWeight="Bold"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Tag="{Binding}"
Content="{Binding Path=Title}"
NavigateUri="{Binding Path=URi}"
IsTabStop="False"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Canvas>
</StackPanel>
</Grid>
如何获得循环效果?
答案 0 :(得分:0)
这是获得所需效果的最简单方法。
From
设置为外StackPanel
的宽度。这样你的网址就从最右边开始。To
值至少为要滚动的内容的整个宽度的负数。RectangleGeometry
添加到外部StackPanel,从0,0开始,并具有StackPanel的宽度和高度。Duration
以获得合理的像素/秒速率(您希望恒定速度不会随着存在更多内容而增加速度)。