static Window CreateSplashScreenWindow(object parameter) { object[] parameters = (object[])parameter; bool useFadeEffect = (bool)parameters[0]; WindowArrangerContainer owner = (WindowArrangerContainer)parameters[1]; SplashScreenLock lockMode = (SplashScreenLock)parameters[2]; IList <TimeSpan> durations = SplashScreenHelper.FindParameters <TimeSpan>(parameter); FlowDirection flowDirection = SplashScreenHelper.FindParameter <FlowDirection>(parameter); Style windowStyle = SplashScreenHelper.FindParameter <Style>(parameter); var window = new LoadingDecoratorWindowFree(owner, lockMode); if (windowStyle != null) { window.Style = windowStyle; } else { window.ApplyDefaultSettings(); } window.SetCurrentValue(FlowDirectionProperty, flowDirection); if (useFadeEffect && durations.Any(x => x.TotalMilliseconds > 0)) { Interaction.GetBehaviors(window).Add(new WindowFadeAnimationBehavior() { FadeInDuration = durations[0], FadeOutDuration = durations[1] }); } return(window); }
static Window CreateSplashScreenWindow(object parameter) { object[] parameters = (object[])parameter; bool useFadeEffect = (bool)parameters[0]; WindowArrangerContainer owner = (WindowArrangerContainer)parameters[1]; SplashScreenLock lockMode = (SplashScreenLock)parameters[2]; IList<TimeSpan> durations = SplashScreenHelper.FindParameters<TimeSpan>(parameter); FlowDirection flowDirection = SplashScreenHelper.FindParameter<FlowDirection>(parameter); Style windowStyle = SplashScreenHelper.FindParameter<Style>(parameter); var window = new LoadingDecoratorWindowFree(owner, lockMode); if(windowStyle != null) window.Style = windowStyle; else window.ApplyDefaultSettings(); window.SetCurrentValue(FlowDirectionProperty, flowDirection); if(useFadeEffect && durations.Any(x => x.TotalMilliseconds > 0)) Interaction.GetBehaviors(window).Add(new WindowFadeAnimationBehavior() { FadeInDuration = durations[0], FadeOutDuration = durations[1] }); return window; }