Index: Core/Components/src/Core.Components.Gis/Data/MapDataCollection.cs =================================================================== diff -u -r8ce1f73367cdf85a29d6513cfb0a925518ddfe90 -rf9ace233e9dae6678b58decc0704c4a5da4f07ec --- Core/Components/src/Core.Components.Gis/Data/MapDataCollection.cs (.../MapDataCollection.cs) (revision 8ce1f73367cdf85a29d6513cfb0a925518ddfe90) +++ Core/Components/src/Core.Components.Gis/Data/MapDataCollection.cs (.../MapDataCollection.cs) (revision f9ace233e9dae6678b58decc0704c4a5da4f07ec) @@ -45,13 +45,7 @@ { get { - IEnumerable layersToIgnore = mapDataList.Where(md => - { - var collection = md as MapDataCollection; - return collection != null && !collection.Collection.Any(); - }); - - return mapDataList.Any() && mapDataList.Except(layersToIgnore).All(md => md.IsVisible); + return GetVisibility() != MapDataCollectionVisibility.NotVisible; } set { Index: Core/Components/test/Core.Components.Gis.Test/Data/MapDataCollectionTest.cs =================================================================== diff -u -r8ce1f73367cdf85a29d6513cfb0a925518ddfe90 -rf9ace233e9dae6678b58decc0704c4a5da4f07ec --- Core/Components/test/Core.Components.Gis.Test/Data/MapDataCollectionTest.cs (.../MapDataCollectionTest.cs) (revision 8ce1f73367cdf85a29d6513cfb0a925518ddfe90) +++ Core/Components/test/Core.Components.Gis.Test/Data/MapDataCollectionTest.cs (.../MapDataCollectionTest.cs) (revision f9ace233e9dae6678b58decc0704c4a5da4f07ec) @@ -78,15 +78,18 @@ } [Test] - public void IsVisible_WithChildrenVisibleFalse_ReturnsFalse() + public void IsVisible_WithAllChildrenVisibleFalse_ReturnsFalse() { // Setup var collection = new MapDataCollection("test"); - collection.Add(new TestMapData()); collection.Add(new TestMapData { IsVisible = false }); + collection.Add(new TestMapData + { + IsVisible = false + }); // Call bool isVisible = collection.IsVisible; @@ -96,6 +99,24 @@ } [Test] + public void IsVisible_WithChildrenVisibleFalseAndTrue_ReturnsTrue() + { + // Setup + var collection = new MapDataCollection("test"); + collection.Add(new TestMapData()); + collection.Add(new TestMapData + { + IsVisible = false + }); + + // Call + bool isVisible = collection.IsVisible; + + // Assert + Assert.IsTrue(isVisible); + } + + [Test] public void IsVisible_WithVisibleMapDataAndEmptyCollectionAsChildren_ReturnsTrue() { // Setup