Ejemplo n.º 1
0
        public static T GetViewModel <T>() where T : ObservableViewModel, new()
        {
            if (ViewModels == null)
            {
                ViewModels = new Dictionary <string, ObservableViewModel>();
            }

            var name = typeof(T).Name;

            if (ViewModels.ContainsKey(name))
            {
                try
                {
                    return((T)ViewModels[name]);
                }
                catch
                {
                    ViewModels[name] = new T();
                    FileStore.DeleteAsync(AppData.VMDictionary).ContinueOn();
                    return((T)ViewModels[name]);
                }
            }
            else
            {
                var obj = new T();
                obj.OnInit();
                ViewModels.Add(name, obj);
                return(obj);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// ビューに指定ビューモデルを登録していく
 /// </summary>
 void SetContext(View view)
 {
     if (ViewModels.ContainsKey(view.VMName))
     {
         view.DataContext = ViewModels[view.VMName];
         view.UpdateAllParam();
     }
 }
Ejemplo n.º 3
0
        public ViewModelBase GetViewModel(Type vmtype, string key)
        {
            ViewModelBase rst   = null;
            string        vmkey = GetViewModelKey(vmtype, key);

            if (ViewModels.ContainsKey(vmkey))
            {
                rst = ViewModels[vmkey];
            }
            return(rst);
        }
Ejemplo n.º 4
0
        public TViewModel GetViewModel <TViewModel>(string vmKey) where TViewModel : ViewModelBase
        {
            TViewModel rst     = null;
            string     typekey = GetViewModelKey(typeof(TViewModel), vmKey);

            if (ViewModels.ContainsKey(typekey))
            {
                rst = ViewModels[typekey] as TViewModel;
            }
            return(rst);
        }
Ejemplo n.º 5
0
        public void UnRegisterViewModel(Type vmtype, string vmKey)
        {
            string typekey = GetViewModelKey(vmtype, vmKey);

            if (ViewModels.ContainsKey(typekey))
            {
                ViewModelBase vm = ViewModels[typekey];
                vm.Cleanup();
                ViewModels.Remove(typekey);
                GC.SuppressFinalize(vm);
            }
        }
Ejemplo n.º 6
0
 public ViewModel this[Type type]
 {
     get
     {
         if (ViewModels.ContainsKey(type.Name))
         {
             return(ViewModels[type.Name]);
         }
         return(Container.Resolve(type) as ViewModel);
     }
     set { ViewModels[type.Name] = value; }
 }
Ejemplo n.º 7
0
 private void HandlePlayerDisposedEvent(Event disposedEvent)
 {
     _cachedCommand     = null;
     _playerInitialised = false;
     if (disposedEvent.EventArgs != null && disposedEvent.ContainsEventArg("NodeId"))
     {
         string viewModelIdAsString = disposedEvent.GetEventArgValue("NodeId");
         var    viewModelId         = new Guid(viewModelIdAsString);
         if (ViewModels.ContainsKey(viewModelId))
         {
             VideoInfo viewModelVideoInfo = ViewModels[viewModelId];
             _isChangedByController    = true;
             viewModelVideoInfo.Status = VideoState.Pause;
         }
     }
 }
Ejemplo n.º 8
0
        public TViewModel RegisterViewModel <TViewModel>(string vmKey) where TViewModel : ViewModelBase, new()
        {
            TViewModel rst;
            string     typekey = GetViewModelKey(typeof(TViewModel), vmKey);

            if (ViewModels.ContainsKey(typekey))
            {
                rst = ViewModels[typekey] as TViewModel;
            }
            else
            {
                rst = new TViewModel();
                ViewModels.Add(typekey, rst);
            }
            return(rst);
        }
Ejemplo n.º 9
0
        private void HandledCurrentStateChanged(Event receivedEvent)
        {
            if (!HasVideo)
            {
                HasVideo = true;
            }

            if (receivedEvent.EventArgs != null && receivedEvent.ContainsEventArg("State"))
            {
                string state = receivedEvent.GetEventArgValue("State");

                if (receivedEvent.ContainsEventArg("NodeId"))
                {
                    string viewModelIdAsString = receivedEvent.GetEventArgValue("NodeId");

                    if (!string.IsNullOrEmpty(state) && !string.IsNullOrEmpty(viewModelIdAsString))
                    {
                        var neutralisedState = state.ToLower();
                        var viewModelId      = new Guid(viewModelIdAsString);

                        if (ViewModels.ContainsKey(viewModelId))
                        {
                            VideoInfo viewModelVideoInfo = ViewModels[viewModelId];

                            switch (neutralisedState)
                            {
                            case "idle":
                                _isChangedByController    = true;
                                viewModelVideoInfo.Status = VideoState.Pause;
                                break;

                            case "playing":
                                _isChangedByController    = true;
                                viewModelVideoInfo.Status = VideoState.Playing;
                                break;

                            case "buffering":
                                _isChangedByController    = true;
                                viewModelVideoInfo.Status = VideoState.Playing;
                                break;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public static void SetViewModel <T>(T obj) where T : ObservableViewModel
        {
            if (ViewModels == null)
            {
                ViewModels = new Dictionary <string, ObservableViewModel>();
            }

            var name = typeof(T).Name;

            if (ViewModels.ContainsKey(name))
            {
                ViewModels[name] = obj;
            }
            else
            {
                ViewModels.Add(name, obj);
            }
        }
Ejemplo n.º 11
0
 public ViewModel this[string identifier]
 {
     get
     {
         if (!ViewModels.ContainsKey(identifier))
         {
             return(null);//Container.Resolve<ViewModel>(identifier);
         }
         return(ViewModels[identifier]);
     }
     set
     {
         if (!ViewModels.ContainsKey(identifier))
         {
             ViewModels.Add(identifier, value);
             value.Identifier = identifier;
         }
     }
 }