Круговой эффект в тикер-серебристом свете - PullRequest
2 голосов
/ 13 января 2010

Я работаю над приложением Silverlight Ticker, будет видно что-то вроде 5 ссылок, и они будут двигаться как тикер (справа налево). Я могу проанализировать файл i / p xml, а также получить заголовок и соответствующие URL-адреса, которые правильно отображаются на странице, а также перемещаться как тикер, но отсутствует круговой эффект. Это означает, что непрерывный поток ссылок не собственно.

  <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>

Как получить круговой эффект?

1 Ответ

0 голосов
/ 13 января 2010

Вот самый простой способ получить нужный эффект.

  • Установите From в двойной анимации на ширину внешней StackPanel. Таким образом, ваши URL начинаются с крайнего правого.
  • Убедитесь, что значение To является отрицательным по крайней мере от полной ширины прокручиваемого содержимого.
  • Добавьте RectangleGeometry к вашей внешней StackPanel, которая начинается с 0,0 и имеет ширину и высоту вашей StackPanel.
  • Отрегулируйте Duration, чтобы получить разумную частоту пикселей / секунду (вы хотите, чтобы постоянная скорость не увеличивалась при увеличении количества контента).
...