Пример #1
0
        public VisualColumnVM(string heading,
                              LayeredColumnVM backgroundVm,
                              LayeredColumnVM widthVm,
                              LayeredColumnVM rightSideVm,
                              LayeredColumnVM bottomSideVm,
                              Func <SingleClassificationLayerVM, SingleClassificationLayerVM, SingleClassificationLayerVM, SingleClassificationLayerVM, VisualLayerPresentingVM> adapter) : base(heading)
        {
            this.adapter = adapter;

            backgroundTarget = backgroundVm;
            widthTarget      = widthVm;
            rightSideTarget  = rightSideVm;
            bottomSideTarget = bottomSideVm;

            backgroundTarget.Layers.CollectionChanged += Layers_CollectionChanged;
            backgroundTarget.PropertyChanged          += Target_PropertyChanged;
            foreach (var layerVM in backgroundTarget.Layers)
            {
                layerVM.PropertyChanged += SingleClass_Vm_PropertyChanged;
            }
            if (widthTarget != null)
            {
                widthTarget.Layers.CollectionChanged += Layers_CollectionChanged;
                widthTarget.PropertyChanged          += Target_PropertyChanged;
                foreach (var layerVM in widthTarget.Layers)
                {
                    layerVM.PropertyChanged += SingleClass_Vm_PropertyChanged;
                }
            }
            if (rightSideTarget != null)
            {
                rightSideTarget.Layers.CollectionChanged += Layers_CollectionChanged;
                rightSideTarget.PropertyChanged          += Target_PropertyChanged;
                foreach (var layerVM in rightSideTarget.Layers)
                {
                    layerVM.PropertyChanged += SingleClass_Vm_PropertyChanged;
                }
            }
            if (bottomSideTarget != null)
            {
                bottomSideTarget.Layers.CollectionChanged += Layers_CollectionChanged;
                bottomSideTarget.PropertyChanged          += Target_PropertyChanged;
                foreach (var layerVM in bottomSideTarget.Layers)
                {
                    layerVM.PropertyChanged += SingleClass_Vm_PropertyChanged;
                }
            }
            columnWidth = 200.0;
            if (widthTarget == null && rightSideTarget == null)
            {
                columnWidth = 60.0;
            }

            Reinit();
        }
        public VisualColumnVM(string heading, LayeredColumnVM lVm, Func <SingleClassificationLayerVM, VisualLayerPresentingVM> adapter) : base(heading)
        {
            this.adapter = adapter;
            this.target  = lVm;
            target.Layers.CollectionChanged += Layers_CollectionChanged;
            target.PropertyChanged          += Target_PropertyChanged;
            columnWidth = 200.0;

            foreach (var layerVM in target.Layers)
            {
                layerVM.PropertyChanged += SingleClass_Vm_PropertyChanged;
            }

            Reinit();
        }