public void GetApplicationService_DoNotUseServicesInMergedDictionaries()
        {
            var defaultServiceContainer = new DefaultServiceContainer2();
            var service1         = new TestService1();
            var mergedDictionary = new ResourceDictionary();

            mergedDictionary.Add("testService2", service1);
            defaultServiceContainer.Resources.MergedDictionaries.Add(mergedDictionary);
            Assert.IsNull(defaultServiceContainer.GetService <IService1>());
        }
        public void T711283()
        {
            var defaultServiceContainer = new DefaultServiceContainer2();

            defaultServiceContainer.Resources.Add("testService", null);
            ServiceContainer.Default = defaultServiceContainer;
            var vm = new TestSupportServices();

            vm.GetService <IMessageBoxService>();
        }
        public void GetApplicationService()
        {
            var defaultServiceContainer = new DefaultServiceContainer2();
            var service2InApp           = new TestService2();

            defaultServiceContainer.Resources.Add("testService2", service2InApp);
            var service11 = new TestService1();
            var service12 = new TestService1();

            defaultServiceContainer.Resources.Add("testService11", service11);
            defaultServiceContainer.Resources.Add("testService12", service12);
            ServiceContainer.Default = defaultServiceContainer;
            var parent   = new TestSupportServices();
            var child    = new TestSupportServices();
            var service2 = new TestService2();

            child.ServiceContainer.RegisterService(service2);
            child.ParentViewModel = parent;
            Assert.AreEqual(service2, child.ServiceContainer.GetService <IService2>(ServiceSearchMode.PreferParents));
            Assert.AreEqual(service2, child.ServiceContainer.GetService <IService2>());
            Assert.IsNotNull(child.ServiceContainer.GetService <IService1>());
            Assert.AreEqual(service11, child.ServiceContainer.GetService <IService1>("testService11"));
        }