Пример #1
0
        public static StackElementVM Create(IStackElementParentVM parent, ObservableCollection <IStackElementVM> stackElementVMs, string name, ElementType elementType, string marginText, string text, TextSizeType textSize, Action onClick, bool isReadOnly)
        {
            StackElementVM elementVM;

            if (stackElementVMs != null && stackElementVMs.Count > 0)
            {
                elementVM         = new StackElementVM(parent, null);
                elementVM.Element = new ItemElementVM(elementVM, ElementType.None);
                stackElementVMs.Add(elementVM);
            }

            elementVM = new StackElementVM(parent, name);
            if (marginText != null)
            {
                elementVM.MarginElement = new ItemElementVM(elementVM, ElementType.Label)
                {
                    Text = marginText, TextSize = textSize
                };
            }
            elementVM.Element = new ItemElementVM(elementVM, elementType)
            {
                Text = text, TextSize = textSize, IsReadOnly = isReadOnly
            };
            if (onClick != null)
            {
                elementVM.Element.Command = new RelayCommand((obj) => onClick());
            }
            return(elementVM);
        }
Пример #2
0
 public void RegisterElementVM(StackElementVM elementVM)
 {
     if (elementVM.Name != null)
     {
         _elements[elementVM.Name] = elementVM;
     }
     if (elementVM.Element != null)
     {
         elementVM.Element.PropertyChanged += ElementVM_PropertyChanged;
     }
 }
Пример #3
0
        //private StackElementVM Create(string name, ElementType elementType, string marginText, string text, TextSizeType textSize, Action onClick)
        //{
        //    StackElementVM elementVM;
        //    if (StackElementVMs.Count > 0)
        //    {
        //        elementVM = new StackElementVM(this, null);
        //        elementVM.Element = new ItemElementVM(elementVM, ElementType.None);
        //        StackElementVMs.Add(elementVM);
        //    }

        //    elementVM = new StackElementVM(this, name);
        //    if (marginText != null)
        //    {
        //        elementVM.MarginElement = new ItemElementVM(elementVM, ElementType.Label) { Text = marginText, TextSize = textSize };
        //    }
        //    elementVM.Element = new ItemElementVM(elementVM, elementType) { Text = text, TextSize = textSize };
        //    if (onClick != null)
        //    {
        //        elementVM.Element.Command = new RelayCommand((obj) => onClick());
        //    }
        //    return elementVM;
        //}

        private StackVM AddItem(string name, ElementType elementType, string marginText, string text, TextSizeType textSize, Action onClick, bool isReadOnly)
        {
            StackElementVMs.Add(StackElementVM.Create(this, StackElementVMs, name, elementType, marginText, text, textSize, onClick, isReadOnly));
            _lastAdded = name;
            return(this);
        }
Пример #4
0
 public ItemElementVM(StackElementVM parent, ElementType elementType)
 {
     _parent     = parent;
     ElementType = elementType;
 }
Пример #5
0
 public ILayoutVM AddTextZone(string name, string marginText, string text)
 {
     MiddleElementVM = StackElementVM.Create(this, null, name, ElementType.TextZone, marginText, text, TextSizeType.Tiny, null, true);
     return(this);
 }