如何在wpf中做幻灯片播放.更改窗口内容,如幻灯片放映
本文关键字:幻灯片 窗口 播放 wpf | 更新日期: 2023-09-27 18:08:46
我想显示窗口,当用户将点击一个按钮,然后显示他下一个内容在同一窗口。我还想做一个动画。这可能吗?动画并不重要。我只想动态更改内容。我到处都找不到……
请给我一个更简单的解决方案,没有任何框架。
内容不仅仅是图片。会有很多控件
我使用WPF与。net Framework 4.0
一种不需要太多开销的方法是将幻灯片的所有幻灯片都准备为UserControls,让主窗口有一个
<ContentPresenter x:Name="CurrentSlidePresenter" />
使用和
UserControl currentSlide = GetCurrentSlide(); // implement this to your liking
CurrentSlidePresenter.Content = currentSlide;
中的按钮点击处理程序。
此方法可以扩展为使用FluidKit使用动画。
一个简单的解决方案就是在项目中用XamlReader类从xaml中加载内容。
链接:http://blogs.msdn.com/b/ashish/archive/2007/08/14/dynamically-loading-xaml.aspx
链接中的简化代码:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
LoadXAMLMethod();
}
public void LoadXAMLMethod()
{
try
{
StreamReader mysr = new StreamReader("Page1.xaml");
DependencyObject rootObject = XamlReader.Load(mysr.BaseStream) as DependencyObject;
this.Content = rootObject;
}
catch (FileNotFoundException ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
}
注:回避更可靠的方法,比如使用MVVM,并不是一件好事。如果您要经常解决这样的ui操作任务,那么您应该考虑在某个时候熟悉MVVM。
简而言之,您将不得不在WPF中使用故事板和触发动画技术。谷歌"WPF窗口滑动动画示例"。
发现这很有用
您在找http://transitionals.codeplex.com/吗?
"Transitionals是一个用于构建和使用WPF过渡的框架,它提供了一种简单的方法,以丰富和动画的方式在UI视图之间切换。"