Ejemplo n.º 1
0
 public IDataNavigator CreateInstance(INotifyDisposing viewModel, bool hasView)
 {
     if (hasView)
     {
         return CreateInstanceWithView(viewModel);
     }
     else
     {
         return CreateInstanceWithoutView(viewModel);
     }
 }
Ejemplo n.º 2
0
        public UIConfig(INotifyDisposing owner)
            : this()
        {
            _IsDiposing = false;

            EventHandler ownerDisposing = null;

            ownerDisposing = (sender, args) =>
                {
                    Dispose();
                    owner.Disposing -= ownerDisposing;
                };

            owner.Disposing += ownerDisposing;
        }
Ejemplo n.º 3
0
        public MainUIConfig(INotifyDisposing owner)
        {
            CreateView = true;
            Region = CoreRegionNames.BottomRegion;
            VisibilityProvider = new SimpleVisibilityProvider();

            EventHandler ownerDisposing = null;

            ownerDisposing = (sender, args) =>
            {
                Dispose();
                owner.Disposing -= ownerDisposing;
            };

            owner.Disposing += ownerDisposing;
        }
Ejemplo n.º 4
0
        private IDataNavigator CreateInstanceWithoutView(INotifyDisposing viewModel)
        {
            var instance = _DataNavigatorWithoutViewFactory();

            EventHandler disposingHandler = null;

            disposingHandler = (sender, args) =>
                {
                    viewModel.Disposing -= disposingHandler;
                    instance.Dispose();
                };

            viewModel.Disposing += disposingHandler;

            return instance;
        }
Ejemplo n.º 5
0
        private IDataNavigator CreateInstanceWithView(INotifyDisposing viewModel)
        {
            HashSet<IDataNavigatorViewModel> dataNavigators;

            IDataNavigatorViewModel instance = _DataNavigatorWithViewFactory();

            if (!_ViewModelNavigators.TryGetValue(viewModel, out dataNavigators))
            {
                dataNavigators = new HashSet<IDataNavigatorViewModel>();
                _ViewModelNavigators.Add(viewModel, dataNavigators);
                viewModel.Disposing += ViewModelDisposing;
            }

            dataNavigators.Add(instance);

            return instance;
        }