【问题标题】:WPF Animation: Moving images in Grid cellsWPF 动画:网格单元格中的移动图像
【发布时间】:2011-07-27 16:33:55
【问题描述】:

我是WPF的初学者,我有一个数组图像要显示在网格中,然后有这个按钮,左右,这样当我点击左时我会将图像向左移动显示数组中的另一组图像。右键也可以将图像向右移动。当浏览当天的头条新闻时,它就像在 www.yahoo.com 主页中一样。如何在 WPF 中做到这一点?谢谢!

【问题讨论】:

    标签: c# .net wpf animation


    【解决方案1】:

    一种方法是在网格中的每个单元格中放置一个画布,然后将图像放置在画布中。这样,您可以为图像的 Canvas.Left 属性设置动画以左右移动。需要注意的一个问题(根据经验!)是在动画中正确绑定...对于附加属性,绑定语法需要像这样的括号...

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

    更新:实际上我想我误解了你的目的 - 也许this 更像你需要的?它谈到了在没有滚动条的情况下为 ScrollViewer 设置动画。

    【讨论】:

      【解决方案2】:

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

      在这个示例中查看下面的示例,我正在使用堆栈面板作为项目主机的项目控件...和数据模板中的图像....

      点击左右按钮可以改变itemscontrol的itemssource...

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

      编辑: 在更改数据上下文之前,您可以为项目控件设置动画并更改数据上下文并将其引入..

      【讨论】:

        猜你喜欢
        • 2014-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 1970-01-01
        • 2020-05-16
        • 1970-01-01
        相关资源
        最近更新 更多