WPF加载启动画面 |
您所在的位置:网站首页 › wpf加载动画 › WPF加载启动画面 |
下载demo - 46.16 KB
下载demo app - 26.67 KB
改变背景 默认情况下,新窗口内容包含一个网格。我们可以改变网格背景使用线性渐变画笔添加以下代码: 隐藏,复制Code 它会是这样的: 网格背景值=#00FFFFFF是完全透明的。我们不需要显示网格,但没有背景,遮罩将不会工作。您可以注意到,在前面的XAML中,textblock具有阴影效果。 在设计视图中,它看起来是这样的: 使用后面的代码 现在我们已经创建了XAML中需要的内容。在后面的代码中,我们将创建一个线程来做加载工作,并使动画到文本,首先我们需要访问动画,定义两个故事板对象来访问窗口资源故事板。 隐藏,复制Code Storyboard Showboard; Storyboard Hideboard;在InitializeComponent()调用之后,通过以下代码访问窗口资源: 隐藏,复制Code Showboard = this.Resources["showStoryBoard"] as Storyboard; Hideboard = this.Resources["HideStoryBoard"] as Storyboard;创建两个函数-一个显示文本,一个隐藏如下: 隐藏,复制Code private void showText(string txt) { txtLoading.Text = txt; BeginStoryboard(Showboard); } private void hideText() { BeginStoryboard(Hideboard); }我们需要为每个函数创建委托,以使调用形式的加载头如下: 隐藏,复制Code private void load() { Thread.Sleep(1000); this.Dispatcher.Invoke(showDelegate, "first data to loading"); Thread.Sleep(2000); //do some loading work this.Dispatcher.Invoke(hideDelegate); Thread.Sleep(2000); this.Dispatcher.Invoke(showDelegate, "second data loading"); Thread.Sleep(2000); //do some loading work this.Dispatcher.Invoke(hideDelegate); Thread.Sleep(2000); this.Dispatcher.Invoke(showDelegate, "last data loading"); Thread.Sleep(2000); //do some loading work this.Dispatcher.Invoke(hideDelegate); //close the window Thread.Sleep(2000); this.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate() { Close(); }); }显示闪 有许多方式来显示闪屏,但最简单的方式,我认为只是添加以下在InitializeComponent在主窗口: 隐藏,复制Code new SplashWindow().ShowDialog();我希望这对你们有用。 的兴趣点 主要的一点是使用不透明掩模和访问故事板背后的形式代码,以及WPF中动画的力量。 历史 2010年10月10日:初任 本文转载于:http://www.diyabc.com/frontweb/news12007.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |