通用幻灯片开始

本文关键字:开始 幻灯片 | 更新日期: 2023-09-27 18:15:12

这是一个关于如何创建一个可重用的wpf幻灯片控件的入门问题:

  • 显示任何可视化元素的序列,例如一系列图像控件或一系列用户控件(我应该以ContentControl为目标,还是有一个更广泛的类型,包含更多的可视化/控件?)
  • 控件应该能够接受某种类型的IList ,这将是要呈现
  • 的元素/幻灯片
  • 控件应该公开一个Interval属性来确定每个幻灯片的持续时间,但我甚至不知道如何在提供该属性在xaml中配置的基础知识?
  • 对于在中传递的单个幻灯片/控件,如果有的话,容器应该是什么?

通用幻灯片开始

首先,您可能应该创建一个包含Image控件的UserControl,也许还有Next/Previous Buttons,以及您可能需要的任何其他内容。这些都可以使用各种面板进行正常布局,你也可以使用网格样式。

之后,您的UserControl将实现ImageSource(您的IList或图像的IEnumerable)和您的间隔作为依赖属性。这些可以在XAML中设置。

然后,您将编写加载下一个图像并将其设置为图像的Source属性的逻辑,这可能发生在ImageSource属性的更改事件中。然后,您可以按照自己的意愿使用图像预加载/缓存等。

我刚刚钻研了WPF自己的"幻灯片"项目,在显示下一个项目之前,我在屏幕上显示了一段时间的客户订单号,并使用效果/过渡/故事板移动到下一帧。我找到了一篇关于CodeProject的好文章

我使用了一个2行的网格:

  1. 包含我的"更改区域"。
  2. 包含静态信息(logo,控件等)。

如果你在你的变化区域上使用任何类型的变换,记得设置"cliptobounds = true"。(我知道你说你一开始没有使用过渡,但一旦人们看到它,他们就会问)。

依赖属性也很容易在c#中构建,只要你输入propdp并按tab键。