public static void CreateViewModel(this ICompositeControl c)
        {
            var contentElement = c as FrameworkElement;

            if (contentElement == null)
            {
                return;
            }

            var vmAttribute = c
                              .GetType()
                              .GetCustomAttributes(
                typeof(ViewModelAttribute),
                true)
                              .Cast <ViewModelAttribute>()
                              .SingleOrDefault() as ViewModelAttribute;

            if (vmAttribute == null)
            {
                return;
            }

            var vm = (ViewModel)Activator.CreateInstance(
                vmAttribute.ViewModelType);

            vm.Initialize();
            contentElement.DataContext = vm;
        }
Пример #2
0
        protected override void OnItemAdded(ICompositeControl item)
        {
            var tab = new TabItem()
            {
                Header  = item.HeaderContent,
                Content = item,
            };

            _tabs.Items.Add(tab);
            item.CreateViewModel();
            _tabTable.Add(item, tab);
        }
Пример #3
0
 private static void MergeStubUnsafe(ICompositeControlCollection compositeControl, IControlStub control)
 {
     foreach (IControl controlChild in control)
     {
         ICompositeControl compositeChild = (ICompositeControl)compositeControl.FindChild(controlChild.Id);
         if (compositeChild == null)
         {
             compositeChild = CompositeControlFactory.Create(controlChild);
             compositeControl.Add(compositeChild);
         }
         else
         {
             compositeChild.MergeWith(controlChild);
         }
     }
 }
 public IMouseHandler Create(ICompositeControl control)
 {
     return this._compositeControlMouseHandlerFactory(control);
 }
Пример #5
0
 protected abstract void OnItemRemoved(ICompositeControl item);
Пример #6
0
 protected abstract void OnItemAdded(ICompositeControl item);
Пример #7
0
 protected override void OnItemRemoved(ICompositeControl item)
 {
     _tabs.Items.Remove(_tabTable[item]);
 }
 public CompositeControlMouseHandler( ICompositeControl owner, SelectedControls selectedControls, MoveControl moveControl )
 {
     this._owner = owner;
     this._moveControl = moveControl;
     this._selectedControls = selectedControls;
 }
 // This is stupid, should be changed
 public void SetOwner( ICompositeControl owner )
 {
     this._roadLaneBuilder.SetOwner( owner );
 }
 public void SetOwner( ICompositeControl owner )
 {
     this._owner = owner.NotNull();
 }
Пример #11
0
 protected abstract void OnItemRemoved(ICompositeControl item);
Пример #12
0
 protected abstract void OnItemAdded(ICompositeControl item);