public LegendTree()
 {
     LayerItemsOptions = new LayerItemsOpts(returnMapLayerItems: false, returnGroupLayerItems: false,
                                            returnLegendItems: false,
                                            showOnlyVisibleLayers: true, reverseLayersOrder: false);
     Attach(this);
 }
 private void PropagateLayerItemsOptions(LayerItemsOpts layerItemsOptions)
 {
     if (!LayerItemsOptions.Equals(layerItemsOptions))
     {
         DeferLayerItemsSourceChanged = true;
         LayerItemsOptions            = layerItemsOptions;
         // set value on all descendants
         LayerItems.Descendants(layerItem => layerItem.LayerItems).ForEach(layerItem => layerItem.LayerItemsOptions = layerItemsOptions);
         DeferLayerItemsSourceChanged = false;
     }
 }
 public LegendTree()
 {
     LayerItemsOptions = new LayerItemsOpts(returnMapLayerItems: false, returnGroupLayerItems: false,
                                            returnLegendItems: false,
                                            showOnlyVisibleLayers: true, reverseLayersOrder: false);
     Attach(this);
     _layerPropertyChangedListeners = new DependencyPropertyChangedListeners<LegendTree>(this)
     {
         OnEventAction = (instance, source, eventArgs) => instance.Layer_PropertyChanged(source, eventArgs)
     };
 }
 public LegendTree()
 {
     LayerItemsOptions = new LayerItemsOpts(returnMapLayerItems: false, returnGroupLayerItems: false,
                                            returnLegendItems: false,
                                            showOnlyVisibleLayers: true, reverseLayersOrder: false);
     Attach(this);
     _layerPropertyChangedListeners = new DependencyPropertyChangedListeners <LegendTree>(this)
     {
         OnEventAction = (instance, source, eventArgs) => instance.Layer_PropertyChanged(source, eventArgs)
     };
 }
        internal override void Attach(LegendTree legendTree)
        {
            if (legendTree == null)
            {
                return;
            }

            base.Attach(legendTree);

            LayerItemsOptions = legendTree.LayerItemsOptions;

            LayerItems.ForEach(item => item.Attach(legendTree));
            LegendItems.ForEach(item => item.Attach(legendTree));
        }
        private void UpdateLayerItemsOptions()
        {
            LayerItemsOpts layerItemsOptions;
            bool           returnsLegendItems = (LegendItemTemplate != null);

            switch (LayerItemsMode)
            {
            case Legend.Mode.Tree:
                layerItemsOptions = new LayerItemsOpts(true, true, returnsLegendItems, ShowOnlyVisibleLayers, ReverseLayersOrder);
                break;

            default:
                layerItemsOptions = new LayerItemsOpts(false, false, returnsLegendItems, ShowOnlyVisibleLayers, ReverseLayersOrder);
                break;
            }

            PropagateLayerItemsOptions(layerItemsOptions);
        }
        internal override void Attach(LegendTree legendTree)
        {
            if (legendTree == null)
                return;

            base.Attach(legendTree);

            LayerItemsOptions = legendTree.LayerItemsOptions;

            LayerItems.ForEach(item => item.Attach(legendTree));
            LegendItems.ForEach(item => item.Attach(legendTree));
        }
        private void UpdateLayerItemsOptions()
        {
            LayerItemsOpts layerItemsOptions;
            bool returnsLegendItems = (LegendItemTemplate != null);

            layerItemsOptions = new LayerItemsOpts(false, false, returnsLegendItems, ShowOnlyVisibleLayers, ReverseLayersOrder);

            PropagateLayerItemsOptions(layerItemsOptions);
        }
        private void PropagateLayerItemsOptions(LayerItemsOpts layerItemsOptions)
        {

            if (!LayerItemsOptions.Equals(layerItemsOptions))
            {
                DeferLayerItemsSourceChanged = true;
                LayerItemsOptions = layerItemsOptions;
                // set value on all descendants
                LayerItems.Descendants(layerItem => layerItem.LayerItems).ForEach(layerItem => layerItem.LayerItemsOptions = layerItemsOptions);
                DeferLayerItemsSourceChanged = false;
            }
        } 
		private void UpdateLayerItemsOptions()
		{
			LayerItemsOpts layerItemsOptions;
			bool returnsLegendItems = (LegendItemTemplate != null);

			switch (LayerItemsMode)
			{
				case Legend.Mode.Tree:
					layerItemsOptions = new LayerItemsOpts(true, true, returnsLegendItems, ShowOnlyVisibleLayers);
					break;

				default:
					layerItemsOptions = new LayerItemsOpts(false, false, returnsLegendItems, ShowOnlyVisibleLayers);
					break;
			}

			PropagateLayerItemsOptions(layerItemsOptions);
		}
		public LegendTree()
		{
			LayerItemsOptions = new LayerItemsOpts(false, false, false, true);
			Attach(this);
		}