예제 #1
0
 public ViewModel this[string key]
 {
     get
     {
         if (!_cache.ContainsKey(key))
         {
             Property prop    = _dataType.GetAllProperties().SingleOrDefault(p => p.Name == key);
             var      objVmdl = DataObjectViewModel.Fetch(_factory, _dataType.Context, null, prop);
             var      result  = objVmdl.PropertyModelsByName["RequestedWidth"];
             prop.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(prop_PropertyChanged);
             _cache.Add(key, result);
         }
         return(_cache[key]);
     }
 }
예제 #2
0
        private void HandleResult(object result, object callback)
        {
            IDataObject obj = result as IDataObject;

            if (obj != null && obj.Context == DataContext)
            {
                this.ViewModelFactory.ShowModel(DataObjectViewModel.Fetch(this.ViewModelFactory, DataContext, ViewModelFactory.GetWorkspace(DataContext), obj), true);
            }
            else if (result != null)
            {
                ViewModelFactory.ShowMessage(result.ToString(), "Result");
            }

            if (callback is Action)
            {
                ((Action)callback)();
            }
        }
예제 #3
0
        private void DisplayErrors()
        {
            _errors.Clear();
            foreach (var error in Parent.GetErrors())
            {
                IDataObject obj = error as IDataObject;
                if (obj == null && error is ViewModel)
                {
                    var vmdl = (ViewModel)error;
                    if (vmdl.Parent is DataObjectViewModel)
                    {
                        obj = ((DataObjectViewModel)vmdl.Parent).Object;
                    }
                }

                _errors.Add(ViewModelFactory.CreateViewModel <ErrorDescriptor.Factory>().Invoke(
                                DataContext, this,
                                obj == null ? null : DataObjectViewModel.Fetch(ViewModelFactory, DataContext, this, obj),
                                new List <string>()
                {
                    error.Error
                }));
            }
        }
예제 #4
0
        public void CreateRelation()
        {
            var rel = _class.CreateRelation();

            ViewModelFactory.ShowModel(DataObjectViewModel.Fetch(ViewModelFactory, DataContext, this, rel), true);
        }