private void OpenWindow(object obj) { dynamic item; if (SelectedOrder != null) { item = SelectedOrder; } else { item = SelectedStoporder; } switch (obj.ToString()) { case "level2": { var view = new Level2(); view.DataContext = new Level2ViewModel(item.Board, item.Seccode, view); view.Show(); break; } case "alltrades": { var view = new AllTrades(); view.DataContext = new AllTradesViewModel(item.Board, item.Seccode, view); view.Show(); break; } case "chart": { var view = new SciChartWindow(); view.DataContext = new SciChartViewModel(item.Board, item.Seccode, view); view.Show(); break; } case "orders": if (MainWindowViewModel.CheckIfWindowIsOpened(typeof(ClientOrders))) { break; } new ClientOrders { DataContext = MainWindowViewModel.ClientOrdersViewModel }.Show(); break; case "stoporders": if (MainWindowViewModel.CheckIfWindowIsOpened(typeof(ClientStoporders))) { break; } new ClientStoporders { DataContext = MainWindowViewModel.ClientOrdersViewModel }.Show(); break; } }