public void WhenClearChildViewsPropertyIsNotSet_ThenChildViewsRegionManagerIsNotCleared() { var regionManager = new MockRegionManager(); var region = new Region(); region.RegionManager = regionManager; var behavior = new ClearChildViewsRegionBehavior(); behavior.Region = region; behavior.Attach(); var childView = new MockFrameworkElement(); region.Add(childView); Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty)); region.RegionManager = null; Assert.AreEqual(regionManager, childView.GetValue(RegionManager.RegionManagerProperty)); }
public void WhenViewHasBeenRemovedAndRegionManagerPropertyCleared_ThenItCanBeAddedAgainToARegion() { IRegion region = new Region { RegionManager = new MockRegionManager() }; var view = new MockFrameworkElement(); var scopedRegionManager = region.Add(view, null, true); Assert.AreEqual(view, region.Views.First()); region.Remove(view); view.ClearValue(RegionManager.RegionManagerProperty); Assert.AreEqual(0, region.Views.Cast<object>().Count()); var newScopedRegion = region.Add(view, null, true); Assert.AreEqual(view, region.Views.First()); Assert.AreSame(newScopedRegion, view.GetValue(RegionManager.RegionManagerProperty)); }