示例#1
0
        public void ShowUserControlAndCheckWindowProperties()
        {
            ISplashScreenService service = new DXSplashScreenService()
            {
                ViewTemplate = new DataTemplate()
                {
                    VisualTree = new FrameworkElementFactory(typeof(SplashScreenTestUserControl))
                },
            };

            service.ShowSplashScreen();
            SplashScreenTestUserControl.DoEvents();
            Window         wnd       = SplashScreenTestUserControl.Window;
            AutoResetEvent SyncEvent = new AutoResetEvent(false);
            bool           hasError  = true;

            wnd.Dispatcher.BeginInvoke(new Action(() => {
                hasError = false;
                hasError = hasError | !(WindowStartupLocation.CenterScreen == wnd.WindowStartupLocation);
                hasError = hasError | !(true == WindowFadeAnimationBehavior.GetEnableAnimation(wnd));
                hasError = hasError | !(null == wnd.Style);
                hasError = hasError | !(WindowStyle.None == wnd.WindowStyle);
                hasError = hasError | !(ResizeMode.NoResize == wnd.ResizeMode);
                hasError = hasError | !(true == wnd.AllowsTransparency);
                hasError = hasError | !(Colors.Transparent == ((SolidColorBrush)wnd.Background).Color);
                hasError = hasError | !(false == wnd.ShowInTaskbar);
                hasError = hasError | !(true == wnd.Topmost);
                hasError = hasError | !(SizeToContent.WidthAndHeight == wnd.SizeToContent);
                SyncEvent.Set();
            }));
            SyncEvent.WaitOne(TimeSpan.FromSeconds(2));
            Assert.IsFalse(hasError);
            service.HideSplashScreen();
        }
示例#2
0
 void ShowUserControlCore(ISplashScreenService service)
 {
     service.ShowSplashScreen();
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(0, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Loading...", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(true, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     service.SetSplashScreenProgress(50, 100);
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(50, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Loading...", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     service.SetSplashScreenProgress(100, 200);
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Loading...", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     service.SetSplashScreenState("Test");
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Test", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     service.HideSplashScreen();
 }
示例#3
0
 public void ShowUserControl_Test()
 {
     DXSplashScreen.Show <SplashScreenTestUserControl>();
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(0, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Loading...", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(true, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     DXSplashScreen.Progress(50);
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(50, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Loading...", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     DXSplashScreen.Progress(100, 200);
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Loading...", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
     DXSplashScreen.SetState("Test");
     SplashScreenTestUserControl.DoEvents();
     Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress);
     Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress);
     Assert.AreEqual("Test", SplashScreenTestUserControl.ViewModel.State);
     Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
 }
示例#4
0
        public void BindServiceProperties()
        {
            var service = new DXSplashScreenService()
            {
                ViewTemplate = new DataTemplate()
                {
                    VisualTree = new FrameworkElementFactory(typeof(SplashScreenTestUserControl))
                },
            };
            ISplashScreenService iService = service;
            Border      container         = new Border();
            ContainerVM vm = ViewModelSource.Create(() => new ContainerVM());

            container.DataContext = vm;
            vm.State = "Loading2";
            BindingOperations.SetBinding(service, DXSplashScreenService.ProgressProperty, new Binding("Progress"));
            BindingOperations.SetBinding(service, DXSplashScreenService.MaxProgressProperty, new Binding("MaxProgress"));
            BindingOperations.SetBinding(service, DXSplashScreenService.StateProperty, new Binding("State"));
            Interaction.GetBehaviors(container).Add(service);

            service.ShowSplashScreen();
            SplashScreenTestUserControl.DoEvents();
            Assert.AreEqual(0, SplashScreenTestUserControl.ViewModel.Progress);
            Assert.AreEqual(0, SplashScreenTestUserControl.ViewModel.MaxProgress);
            Assert.AreEqual("Loading2", SplashScreenTestUserControl.ViewModel.State);
            Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
            vm.Progress = 50; vm.MaxProgress = 100;
            SplashScreenTestUserControl.DoEvents();
            Assert.AreEqual(50, SplashScreenTestUserControl.ViewModel.Progress);
            Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.MaxProgress);
            Assert.AreEqual("Loading2", SplashScreenTestUserControl.ViewModel.State);
            Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
            vm.Progress = 100; vm.MaxProgress = 200;
            SplashScreenTestUserControl.DoEvents();
            Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress);
            Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress);
            Assert.AreEqual("Loading2", SplashScreenTestUserControl.ViewModel.State);
            Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
            vm.State = "Test";
            SplashScreenTestUserControl.DoEvents();
            Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress);
            Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress);
            Assert.AreEqual("Test", SplashScreenTestUserControl.ViewModel.State);
            Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate);
            iService.HideSplashScreen();
        }
示例#5
0
        public void ShowUserControlAndCheckWindowProperties2()
        {
            Style wndStyle = new Style();
            ISplashScreenService service = new DXSplashScreenService()
            {
                ViewTemplate = new DataTemplate()
                {
                    VisualTree = new FrameworkElementFactory(typeof(SplashScreenTestUserControl))
                },
                SplashScreenWindowStyle     = wndStyle,
                SplashScreenStartupLocation = WindowStartupLocation.Manual,
            };

            service.ShowSplashScreen();
            SplashScreenTestUserControl.DoEvents();
            Window         wnd       = SplashScreenTestUserControl.Window;
            AutoResetEvent SyncEvent = new AutoResetEvent(false);
            bool           hasError  = true;

            wnd.Dispatcher.BeginInvoke(new Action(() => {
                hasError = false;
                hasError = hasError | !(WindowStartupLocation.Manual == wnd.WindowStartupLocation);
                hasError = hasError | !(false == WindowFadeAnimationBehavior.GetEnableAnimation(wnd));
                hasError = hasError | !(wndStyle == wnd.Style);
                hasError = hasError | !(WindowStyle.SingleBorderWindow == wnd.WindowStyle);
                hasError = hasError | !(ResizeMode.CanResize == wnd.ResizeMode);
                hasError = hasError | !(false == wnd.AllowsTransparency);
                hasError = hasError | !(true == wnd.ShowInTaskbar);
                hasError = hasError | !(false == wnd.Topmost);
                hasError = hasError | !(SizeToContent.Manual == wnd.SizeToContent);
                SyncEvent.Set();
            }));
            SyncEvent.WaitOne(TimeSpan.FromSeconds(2));
            Assert.IsFalse(hasError);
            service.HideSplashScreen();
        }
 public SplashScreenTestUserControl() {
     Instance = this;
 }
示例#7
0
 public SplashScreenTestUserControl()
 {
     Instance = this;
 }
 public SplashScreenTestUserControl() {
     Instance = this;
     if(TemplateCreator != null)
         Template = TemplateCreator.Invoke();
 }