通用幻灯片开始
本文关键字:开始 幻灯片 | 更新日期: 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行的网格:
- 包含我的"更改区域"。
- 包含静态信息(logo,控件等)。
如果你在你的变化区域上使用任何类型的变换,记得设置"cliptobounds = true"。(我知道你说你一开始没有使用过渡,但一旦人们看到它,他们就会问)。
依赖属性也很容易在c#中构建,只要你输入propdp
并按tab键。