如何在wpf中做幻灯片播放.更改窗口内容,如幻灯片放映

本文关键字:幻灯片 窗口 播放 wpf | 更新日期: 2023-09-27 18:08:46

我想显示窗口,当用户将点击一个按钮,然后显示他下一个内容在同一窗口。我还想做一个动画。这可能吗?动画并不重要。我只想动态更改内容。我到处都找不到……

请给我一个更简单的解决方案,没有任何框架。

内容不仅仅是图片。会有很多控件

我使用WPF与。net Framework 4.0

如何在wpf中做幻灯片播放.更改窗口内容,如幻灯片放映

一种不需要太多开销的方法是将幻灯片的所有幻灯片都准备为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视图之间切换。"