コード例 #1
0
        public Task <IView> ShowWindowAsync <TViewModel>(Action <TViewModel> initializeViewModel) where TViewModel : class
        {
            var newObject = ViewLocator.GetInstance <TViewModel>();

            if (newObject is Window window)
            {
                initializeViewModel(window.DataContext as TViewModel);
                window.Show();
                return(Task.Run(() => (IView) new View(window)));
            }
            else
            {
                throw new ArgumentException($"{typeof(TViewModel)} is not window.");
            }
        }
コード例 #2
0
        public async Task <IView> ShowDialogAsync <TViewModel>(Action <TViewModel> initializeViewModel) where TViewModel : class
        {
            var newObject = ViewLocator.GetInstance <TViewModel>();

            if (newObject is ContentControl contentControl)
            {
                initializeViewModel(contentControl.DataContext as TViewModel);
                await DialogHost.Show(contentControl);

                return(new MaterialView(contentControl));
            }
            else
            {
                throw new ArgumentException($"{typeof(TViewModel)} is not window.");
            }
        }