WPF动画:在网格单元格中移动图像

时间:2011-07-27 06:31:47

标签: c# .net wpf animation

我是WPF的初学者,我有一个要在网格中显示的数组图像,然后有这个按钮,左右,所以当我点击左边时我会将图像向左移动以显示阵列中的另一组图像。使用右键将图像向右移动也是如此。当浏览当天的最新消息时,它就像在www.yahoo.com主页上一样。怎么能在WPF中完成?谢谢!

2 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是将Canvas放在网格中的每个单元格中,然后将图像放入Canvas中。通过这种方式,您可以为图像的Canvas.Left属性设置动画,以便将其向左移动。对。需要注意的是(从经验来讲!)是在动画中获得绑定...对于附加属性,绑定语法需要像这样的括号......

<DoubleAnimation Storyboard.TargetProperty="(Canvas.Left)" ...etc...

更新:其实我觉得我误解了你的意思 - 也许this更像你需要的东西?它讨论了在没有滚动条的情况下为ScrollViewer设置动画。

答案 1 :(得分:0)

您可以使用itemscontrol并在按钮单击时更改项目来源...

在这个示例中查看下面的示例我正在使用stackpanel作为itemshost的项目控件...以及数据模板中的图像....

单击左或右按钮,您可以更改itemscontrol的项目源...

  <ItemsControl ItemsSource="{Binding Images}" >
                                            <ItemsControl.ItemTemplate>
                                                <DataTemplate>
                                                    <Image Source={Binding}></Image>
                                                </DataTemplate>
                                            </ItemsControl.ItemTemplate>
                                            <ItemsControl.ItemsPanel>
                                                <ItemsPanelTemplate>
                                                    <Stackpanle Orientation="Horizontal" IsItemsHost="True" />
                                                </ItemsPanelTemplate>
                                            </ItemsControl.ItemsPanel>
                                        </ItemsControl>

修改 在更改数据上下文之前,您可以设置itemscontrol的动画并更改datacontext并将其带入..