Beispiel #1
0
 /// <summary>
 /// Purpose: Public Indexer to return the required View by passing the ViewModel.
 /// </summary>
 /// <param name="OViewModel"> OViewModel: ViewModelBase derived object</param>
 /// <returns> TView: FrameworkElement derived object </returns>
 public TView this[TViewModel OViewModel]
 {
     get
     {
         VVMContainer KeyContainer = FindViewOrViewModel(OViewModel, false);
         return(KeyContainer.View);
     }
 }
Beispiel #2
0
 /// <summary>
 /// Purpose: Public Indexer to return the required ViewModel by passing the view.
 /// </summary>
 /// <param name="OView"> OView: FrameworkElement derived object</param>
 /// <returns> TViewModel: ViewModelBase derived object </returns>
 public TViewModel this[TView OView]
 {
     get
     {
         VVMContainer KeyContainer = FindViewOrViewModel(OView, true);
         return(KeyContainer.ViewModel);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Purpose: Public UnRegister() [Function] for unregistering the viewmodel & view specificied.
        /// </summary>
        /// <param name="ViewOrViewModel"></param>
        /// <param name="IsView"></param>
        public void UnRegister(object ViewOrViewModel, bool IsView)
        {
            VVMContainer KeyContainer = FindViewOrViewModel(ViewOrViewModel, IsView);

            if (!KeyContainer.Equals(null))
            {
                KeyContainer.View      = null;
                KeyContainer.ViewModel = null;
                _VVMList.Remove(KeyContainer);
                GC.Collect(0);

#if !DEBUG
                Console.WriteLine("GC Generation Number: " + GC.MaxGeneration);
                Console.WriteLine("GC Collected objects: " + GC.CollectionCount(2));
#endif
            }
        }