Ejemplo n.º 1
0
        public void ShowWindow(BaseViewModel viewModel, bool showAsDialog = false)
        {
            Window window = viewModel switch
            {
                // Wenn viewModel null ist -> ArgumentNullException
                null => throw new ArgumentNullException(nameof(viewModel)),

                      MainWindowViewModel _ => new MainWindow(),
                      ProductWindowViewModel _ => new ProductWindow(),

                      // default -> InvalidOperationException
                      _ => throw new InvalidOperationException($"Unbekanntes ViewModel '{viewModel}'"),
            };

            _windows[viewModel] = window;

            window.DataContext = viewModel;

            if (showAsDialog)
            {
                window.ShowDialog();
            }
            else
            {
                window.Show();
            }
        }
 ///<summary>
 ///Initializes a new instance of the<see cref="ProductWindow"/> class.
 ///</summary>
 ///<param name = "viewModel" > The view model to inject.</param>
 ///<remarks>
 ///This constructor can be used to use view-model injection.
 ///</remarks>
 public ProductWindow(ProductWindowViewModel viewModel)
     : base(viewModel, DataWindowMode.Close)
 {
     InitializeComponent();
 }