【问题标题】:Scrolling Marquee in Silverlight在 Silverlight 中滚动选取框
【发布时间】:2011-12-04 15:23:15
【问题描述】:

我需要在我的 Silverlight 应用程序中创建一个滚动选取框。选取框需要从右向左滚动。滚动完成后,它需要自动重新启动 诀窍是,我需要使用 ItemsControl,因为项目将在滚动时添加到列表中。我不知道如何做到这一点,我认为会有一个在线控件可以证明这一点。但是,我一直没有成功找到一个。有人知道现有控件或知道如何执行此操作吗?

谢谢!

【问题讨论】:

    标签: silverlight itemscontrol marquee


    【解决方案1】:

    这只是您如何构建简单选取框的想法。您必须通过 ItemsControl 的度量宽度 (ActualWidth) 计算“从”和“到”,并计算情节提要持续时间。 当然,而不是硬编码的项目使用绑定。

     <ScrollViewer Width="Auto"
                  Height="Auto"
                  BorderThickness="0"
                  HorizontalContentAlignment="Stretch"
                  VerticalContentAlignment="Stretch"
                  VerticalScrollBarVisibility="Disabled"
                  Margin="0"
                  Padding="0">
                    <Canvas>
                        <Canvas.Resources>
                            <Storyboard x:Name="Anim">
                                <DoubleAnimation From="480" To="-480" Storyboard.TargetName="Marquee"
                                                 Duration="0:0:10"
                                                 RepeatBehavior="Forever"
                                                 Storyboard.TargetProperty="(Canvas.Left)"/>
                            </Storyboard>
                        </Canvas.Resources>
                        <ItemsControl Canvas.Left="0" Name="Marquee">
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal"/>
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <ItemsControl.Items>
                                <TextBlock Text="Item1" Margin="10 0 0 0"/>
                                <TextBlock Text="Item2" Margin="10 0 0 0"/>
                                <TextBlock Text="Item3" Margin="10 0 0 0"/>
                                <TextBlock Text="Item4" Margin="10 0 0 0"/>
                            </ItemsControl.Items>
                        </ItemsControl>
                    </Canvas>
      </ScrollViewer>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多