public override void ShowAlert(View view, DialogScope dialogScope, DialogMode dialogMode) { var viewHost = GetNewDialogWindow(); // prepare host view and viewmodel viewHost.HostedView = view; viewHost.HostedViewModel = view.ViewModel; view.ViewModel.InteractionCompleting += viewModel_modalInteractionCompleting; PrepareViewForDisplay(viewHost, view); viewHost.ShowDialog(); }
public abstract void ShowAlert(View view, DialogScope dialogScope, DialogMode dialogMode);
/// <summary> /// Shows an alert window using default DialogScope and DialogMode. /// </summary> /// <param name="viewModel"></param> public virtual void ShowAlert(View view) { ShowAlert(view, DialogScope.Default, DialogMode.Default); }
/// <summary> /// Displays a dialog window to the user. /// </summary> /// <param name="viewModel"></param> /// <param name="dialogScope"></param> public abstract void ShowDialog( View view, DialogScope dialogScope, DialogMode dialogMode, bool showActivated = true, Func<ViewHostWindow> getWindow = null);
/// <summary> /// Displays a tool window to the user. /// </summary> /// <param name="viewModel"></param> public abstract void ShowToolWindow(View view, Func<ViewHostWindow> getWindow = null);
public override void ShowToolWindow(View view, Func<ViewHostWindow> getWindow = null) { ViewHostWindow viewHost = null; // prepare host view and viewmodel if (getWindow == null) { viewHost = GetNewToolWindow(); } else { viewHost = getWindow(); if (viewHost is Window) OnAfterWindowCreated(viewHost as Window); } viewHost.Owner = Application.Current.MainWindow; viewHost.HostedView = view; viewHost.HostedViewModel = view.ViewModel; view.ViewModel.InteractionCompleting += viewModel_nonModalInteractionCompleting; viewHost.Closed += (sender, e) => { if (view.ViewModel.InteractionOutcome == UserInteractionOutcome.Unset) view.ViewModel.CompleteInteraction(UserInteractionOutcome.Cancelled); }; PrepareViewForDisplay(viewHost, view); if (!UIDispatcher.HasShutdownStarted && !UIDispatcher.HasShutdownFinished) { viewHost.Show(); } }
protected virtual void PrepareViewForDisplay(ViewHostWindow viewHost, View view) { }
public override void ShowDialog(View view, DialogScope dialogScope, DialogMode dialogMode, bool showActivated = true, Func<ViewHostWindow> getWindow = null) { var viewModel = view.ViewModel; ViewHostWindow viewHost = null; // prepare host view and viewmodel if (getWindow == null) { viewHost = GetNewDialogWindow(); } else { viewHost = getWindow(); if (viewHost is Window) OnAfterWindowCreated(viewHost as Window); } viewHost.Owner = Application.Current.MainWindow; viewHost.HostedViewModel = viewModel; viewHost.HostedView = view; viewHost.Closed += (sender, e) => { if (viewModel.InteractionOutcome == UserInteractionOutcome.Unset) viewModel.CompleteInteraction(UserInteractionOutcome.Cancelled); }; if (dialogMode == DialogMode.Modal) { viewModel.InteractionCompleting += viewModel_modalInteractionCompleting; } else { viewModel.InteractionCompleting += viewModel_nonModalInteractionCompleting; } if (dialogScope == DialogScope.Global) { if (viewHost != Application.Current.MainWindow) // this may happen when Visual Studio is closing down viewHost.Owner = Application.Current.MainWindow; } viewHost.ShowActivated = showActivated; PrepareViewForDisplay(viewHost, view); if (!UIDispatcher.HasShutdownStarted && !UIDispatcher.HasShutdownFinished) { if (dialogMode == DialogMode.Modal) { viewHost.ShowDialog(); } else { viewHost.Show(); } } }
public static View GetTarget(View element) { return (View)element.GetValue(TargetProperty); }
public static void SetTarget(View element, View value) { element.SetValue(TargetProperty, value); }