public void NavigateTo <T>(ViewModelParameterCollection viewModelParameterCollection)
            where T : ViewModelBase
        {
            var targetViewModel = _viewModelFactory.CreateViewModel <T>(viewModelParameterCollection);

            _navigationHandlerConfiguration.NavigationRequestedCallbacks.ForEach(f => f.Invoke(targetViewModel));
        }
        public override void InjectParameters(ViewModelParameterCollection viewModelParameterCollection)
        {
            var downloadContext = (DownloadContext)viewModelParameterCollection["DownloadContext"].Value;

            DownloadEntryId                 = downloadContext.Id;
            DownloadEntryName               = downloadContext.Name;
            DownloadEntryThreadUrl          = downloadContext.ThreadUrl;
            DownloadEntryBoerseLinkProvider = downloadContext.BoerseLinkProvider;
        }
Beispiel #3
0
        internal ViewModelBase CreateViewModel <T>(ViewModelParameterCollection viewModelParameterCollection)
            where T : ViewModelBase
        {
            var result = _unityContainer.Resolve <T>();

            if (viewModelParameterCollection.HasValue)
            {
                result.InjectParameters(viewModelParameterCollection);
            }

            return(result);
        }
 public virtual void InjectParameters(ViewModelParameterCollection viewModelParameterCollection)
 {
     throw new NotImplementedException($"ViewModel {GetType().Name} does not accept Parameters.");
 }