使用c#,实现2D轮播的最佳方法是什么。
什么是更好的WPF或Windows窗体。如何制作动画的最佳方式是什么?只需使用计时器样式刻度逐渐移动像素?
喜欢(伪代码):
files
由于
更多信息:
我希望它能够快速前进,因为会有30张图像,我希望它在选择随机图像之前滚动并循环一次或两次
答案 0 :(得分:1)
WPF一路走来!最简单的方法是使用ListBox创建UserControl并将项目集合绑定到它。诀窍是如何包含这些项目。
这是我一段时间编码的样本:
<ListBox ItemsSource="{Binding Files}" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SelectionMode="Single" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="10" VerticalAlignment="Center" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
</ListBox.ItemContainerStyle>
</ListBox>
使用带有Orientation="Horizontal"
和ScrollViewer.HorizontalScrollBarVisibility="Auto"
的StackPanel也可以完成相同的操作。
有任何疑问,请兄弟知道。
对不起,错过了这一部分:
如何制作动画的最佳方式?只需使用计时器样式刻度逐渐移动像素?
最好的方法是使用WPF的Storyboard和Animation类。一般的想法是:
此外,确保绑定集合具有可变数量的项目(我的样本中为10个),并使用另一个集合来跟踪要删除和添加的下一个项目。