通用幻灯片开始

时间:2011-11-20 21:52:33

标签: c# .net wpf user-controls timer

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

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

2 个答案:

答案 0 :(得分:1)

首先,您应该创建一个UserControl,其中包含Image控件,可能还有下一个/上一个Buttons,以及您可能需要的任何其他内容。这些都可以像使用各种面板一样正常布局,你可能只用一个网格来设计大部分面板。

之后,您的UserControl将实施ImageSource(您的IListIEnumerable图片),并将您的间隔作为依赖项属性。然后可以在XAML中设置它们。

然后,您将编写加载下一个图像的逻辑并将其设置为图像的Source属性,这可能发生在ImageSource属性的更改事件中。然后,您可以使用Image预加载/缓存等获得高级功能。

答案 1 :(得分:1)

我刚刚自己钻研WPF这个“幻灯片”项目,我在屏幕上显示客户订单号一段时间,然后显示下一个,并使用效果/转换/故事板移动到下一个帧。我在CodeProject

上发现了一篇很好的文章

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

  1. 包含我的“更改区域”。
  2. 包含静态信息(徽标,控件等)。
  3. 如果您对其进行任何类型的转换,请记住在您的更改区域设置“cliptobounds = true”。 (我知道你说你最初没有使用过渡,但是一旦人们看到它,他们就会问。)

    如果只需键入propdp并点击标签,也可以在C#中轻松构建依赖属性。