Ejemplo n.º 1
0
        public InteractableItemViewModel(HostedLayoutItem model)
            : base(model)
        {
            _clearContentCommand = new RelayCommand(OnClearContent);
            _importStringCommand = new RelayCommand(OnImportString);

            var ii = ModelAs <InteractableItem>();

            if (ii.ContentAreaTarget != null)
            {
                _contentAreaTarget = (ContentAreaViewModel)ViewModelMapper.GetViewModel(ii.ContentAreaTarget);
                if (_contentAreaTarget == null)
                {
                    _contentAreaTarget = new ContentAreaViewModel(ii.ContentAreaTarget);
                }
            }

            if (ii.ItemTarget != null)
            {
                _itemTarget = (ContentItemViewModel)ViewModelMapper.GetViewModel(ii.ItemTarget);
                if (_itemTarget == null)
                {
                    _itemTarget = ContentItemViewModel.CreateItem(ii.ItemTarget);
                }
            }

            if (ii.PageTarget != null)
            {
                _pageTarget = (HostedLayoutPageViewModel)ViewModelMapper.GetViewModel(ii.PageTarget);
                if (_pageTarget == null)
                {
                    _pageTarget = new HostedLayoutPageViewModel(ii.PageTarget);
                }
            }
        }
Ejemplo n.º 2
0
        public HostedLayoutPageViewModel(HostedLayoutPage model)
            : base(model)
        {
            RemoveItem = new RelayCommand(OnRemoveItem, CanExecuteRemoveItem);
            var lst = new List <HostedLayoutItemViewModel>();

            foreach (var x in model.Items)
            {
                HostedLayoutItemViewModel vm = null;

                vm = (ContentAreaViewModel)ViewModelMapper.GetViewModel(x);
                if (vm == null)
                {
                    if (x is ContentArea)
                    {
                        vm = new ContentAreaViewModel(x);
                    }
                    else
                    if (x is ToggleItem)
                    {
                        vm = new ToggleItemViewModel(x);
                    }
                    else
                    if (x is ButtonItem)
                    {
                        vm = new ButtonItemViewModel(x);
                    }
                    else
                    if (x is InteractableItem)
                    {
                        vm = new InteractableItemViewModel(x);
                    }
                }

                if (vm == null)
                {
                    continue;
                }

                vm.Parent = this;

                lst.Add(vm);
            }
            _items = new ViewModelCollection <HostedLayoutItemViewModel, HostedLayoutItem>(model.Items, lst);
            _items.CollectionChanged += items_CollectionChanged;

            ContentAreas = new ObservableCollection <ContentAreaViewModel>(_items.Where(x => x is ContentAreaViewModel).Cast <ContentAreaViewModel>().ToList());
        }
Ejemplo n.º 3
0
        public override HostedLayoutItemViewModel Clone()
        {
            var oldContent = ModelAs <ContentArea>();

            var newContent = new ContentArea()
            {
                Content        = oldContent.Content,
                HasContent     = oldContent.HasContent,
                Height         = oldContent.Height,
                IsLightDismiss = oldContent.IsLightDismiss,
                IsPopup        = oldContent.IsPopup,
                Name           = oldContent.Name,
                Shape          = oldContent.Shape?.ToList(),
                State          = oldContent.State,
                Width          = oldContent.Width,
                X = oldContent.X,
                Y = oldContent.Y
            };

            var newVm = new ContentAreaViewModel(newContent);

            return(newVm);
        }