Ejemplo n.º 1
0
        private void InitializeViewModel()
        {
            var attribute = this.GetType().GetCustomAttribute <MvfForm>();

            if (attribute == null)
            {
                throw new CustomAttributeFormatException($"Could not find {nameof(MvfForm)} attribute over the {this.GetType().Name} form");
            }

            this.ViewModel = MvfLocator.HasViewModel <TViewModel>()
                ? MvfLocator.GetViewModel <TViewModel>(this)
                : MvfLocator.CreateViewModel <TViewModel>(this);

            this.ViewModel.PropertyChanged += OnViewModelPropertyChanged;

            RaiseViewModelSet(ViewModel);
        }
Ejemplo n.º 2
0
        public void Navigate <TViewModel>()
            where TViewModel : IMvfViewModel
        {
            if (typeof(IVolatileView).IsAssignableFrom(typeof(TViewModel)))
            {
                var form = MvfLocator.CreatePair <TViewModel>();

                form.Show();
            }
            else
            {
                if (MvfLocator.HasForm <TViewModel>())
                {
                    var form = MvfLocator.GetForm <TViewModel>();
                    form.Show();
                }
                else
                {
                    var form = MvfLocator.CreatePair <TViewModel>();

                    form.Show();
                }
            }
        }