Esempio n. 1
0
        public static void RegisterNewPopupRegion(DependencyObject owner, string regionName)
        {
            // Creates a new region and registers it in the default region manager.
            // Another option if you need the complete infrastructure with the default region behaviors
            // is to extend DelayedRegionCreationBehavior overriding the CreateRegion method and create an
            // instance of it that will be in charge of registering the Region once a RegionManager is
            // set as an attached property in the Visual Tree.

            RegionMngr = ServiceLocator.Current.GetAllInstances <IRegionManager>().First();

            if (RegionMngr != null)
            {
                IRegion region = new SingleActiveRegion();
                DialogActivationBehavior behavior;
#if SILVERLIGHT
                behavior = new PopupDialogActivationBehavior();
#else
                behavior = new WindowDialogActivationBehavior();
#endif
                behavior.HostControl = owner;

                region.Behaviors.Add(DialogActivationBehavior.BehaviorKey, behavior);
                RegionMngr.Regions.Add(regionName, region);
            }
        }
        public void ShouldThrownExceptionIfIndexIsLessThan0()
        {
            var regionManager = new RegionManager();

            var region = new SingleActiveRegion();

            var view1 = new object();

            regionManager.Regions.Add("MyRegion", region);

            regionManager.RegisterViewWithRegionInIndex("MyRegion", view1, -1);
        }
Esempio n. 3
0
        protected override RegionAdapterMappings ConfigureRegionAdapterMappings()
        {
            Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnLastWindowClose;
            // create region
            var region = new SingleActiveRegion()
            {
                Name = RegionNames.MainRegion
            };

            region.Behaviors.Add(DragablzWindowBehavior.BehaviorKey, new DragablzWindowBehavior());

            Container.Resolve <RegionManager>().Regions.Add(RegionNames.MainRegion, region);

            return(base.ConfigureRegionAdapterMappings());
        }
Esempio n. 4
0
 static void CreatePopupRegionWithNamePropertyChanged(DependencyObject hostControl, DependencyPropertyChangedEventArgs e)
 {
     if (!DesignerProperties.GetIsInDesignMode(hostControl))
     {
         IRegionManager regionManager = ServiceLocator.Current.GetInstance <IRegionManager>();
         if (regionManager != null)
         {
             IRegion          region   = new SingleActiveRegion();
             MyRegionBehavior behavior = new MyRegionBehavior();
             behavior.HostControl = hostControl;
             region.Behaviors.Add("PopupRegionBehavior", behavior);
             regionManager.Regions.Add(e.NewValue as string, region);
         }
     }
 }
Esempio n. 5
0
        protected override void ConfigureRegionAdapterMappings(RegionAdapterMappings regionAdapterMappings)
        {
            Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnLastWindowClose;
            // create region
            var region = new SingleActiveRegion()
            {
                Name = "MainRegion"
            };

            region.Behaviors.Add(DragablzWindowBehavior.BehaviorKey, new DragablzWindowBehavior());

            var regionManager = Container.Resolve <IRegionManager>();

            regionManager.Regions.Add("MainRegion", region);

            base.ConfigureRegionAdapterMappings(regionAdapterMappings);
        }
        public void ActivatingNewViewDeactivatesCurrent()
        {
            IRegion region = new SingleActiveRegion();
            var     view   = new object();

            region.Add(view);
            region.Activate(view);

            Assert.IsTrue(region.ActiveViews.Contains(view));

            var view2 = new object();

            region.Add(view2);
            region.Activate(view2);

            Assert.IsFalse(region.ActiveViews.Contains(view));
            Assert.IsTrue(region.ActiveViews.Contains(view2));
        }
Esempio n. 7
0
        public void ActivatingNewViewDeactivatesCurrent()
        {
            IRegion region = new SingleActiveRegion();
            var     view   = new ContentView();

            region.Add(view);
            region.Activate(view);

            Assert.True(region.ActiveViews.Contains(view));

            var view2 = new StackLayout();

            region.Add(view2);
            region.Activate(view2);

            Assert.False(region.ActiveViews.Contains(view));
            Assert.True(region.ActiveViews.Contains(view2));
        }
Esempio n. 8
0
        /// <summary>
        /// Creates a new <see cref="IRegion"/> and registers it in the default <see
        /// cref="IRegionManager"/> attaching to it a <see cref="DialogActivationBehavior"/> behavior.
        /// </summary>
        /// <param name="owner">The owner of the Popup.</param>
        /// <param name="regionName">The name of the <see cref="IRegion"/>.</param>
        /// <remarks>
        /// This method would typically not be called directly, instead the behavior should be set
        /// through the Attached Property <see cref="CreatePopupRegionWithNameProperty"/>.
        /// </remarks>
        public static void RegisterNewPopupRegion(DependencyObject owner, string regionName)
        {
            // Creates a new region and registers it in the default region manager. Another option
            // if you need the complete infrastructure with the default region behaviors is to
            // extend DelayedRegionCreationBehavior overriding the CreateRegion method and create an
            // instance of it that will be in charge of registering the Region once a RegionManager
            // is set as an attached property in the Visual Tree.
            IRegionManager regionManager = ContainerLocator.Container.Resolve <IRegionManager>();

            if (regionManager != null)
            {
                IRegion region = new SingleActiveRegion();
                DialogActivationBehavior behavior;
                behavior             = new WindowDialogActivationBehavior();
                behavior.HostControl = owner;

                region.Behaviors.Add(DialogActivationBehavior.BehaviorKey, behavior);
                regionManager.Regions.Add(regionName, region);
            }
        }
Esempio n. 9
0
        public static void RegisterNewPopupRegion(DependencyObject owner, string regionName)
        {
            IRegionManager regionManager = ServiceLocator.Current.GetInstance <IRegionManager>();

            if (regionManager != null)
            {
                IRegion region = new SingleActiveRegion();
                DialogActivationBehavior behavior;

#if SILVERLIGHT
                behavior = new PopupDialogActivarionBehavior();
#else
                behavior = new WindowDialogActivationBehavior();
#endif
                behavior.HostControl = owner;

                region.Behaviors.Add(DialogActivationBehavior.BehaviorKey, behavior);
                regionManager.Regions.Add(regionName, region);
            }
        }
        public void ShouldAddViewsInRightOrderEvenIfTheyAreAddedInOtherOrder()
        {
            var regionManager = new RegionManager();
            var region        = new SingleActiveRegion();

            var view1 = new object();
            var view2 = new object();
            var view3 = new object();

            regionManager.Regions.Add("MyRegion", region);

            regionManager.RegisterViewWithRegionInIndex("MyRegion", view1, 1);
            regionManager.RegisterViewWithRegionInIndex("MyRegion", view2, 2);
            regionManager.RegisterViewWithRegionInIndex("MyRegion", view3, 0);

            Assert.AreEqual(3, region.Views.Count());
            Assert.AreEqual(view1, region.Views.ElementAt(1));
            Assert.AreEqual(view2, region.Views.ElementAt(2));
            Assert.AreEqual(view3, region.Views.ElementAt(0));
        }
Esempio n. 11
0
        /// <summary>Registers the new popup region.</summary>
        /// <param name="owner">The owner.</param>
        /// <param name="regionName">Name of the region.</param>
        public static void RegisterNewPopupRegion(DependencyObject owner, string regionName)
        {
            // Creates a new region and registers it in the default region manager.
            // Another option if you need the complete infrastructure with the default region behaviors is to extend
            // DelayedRegionCreationBehavior overriding the CreateRegion method and create an instance of it that will be in
            // charge of registering the Region once a RegionManager is set as an attached property in the Visual Tree.
            IRegionManager regionManager = ServiceLocator.Current.GetInstance <IRegionManager>();

            if (regionManager == null)
            {
                return;
            }

            IRegion region = new SingleActiveRegion();

            DialogActivationBehavior behavior = new WindowDialogActivationBehavior();

            behavior.HostControl = owner;

            region.Behaviors.Add(DialogActivationBehavior.BEHAVIOR_KEY, behavior);
            regionManager.Regions.Add(regionName, region);
        }