Witam. Ostatnio zacząłem się uczyć WPF tylko nie wiem czemu trochę ciężko mi to idzie. Okno się otwiera ale chciałbym wiedzieć jak to zrobić prawidłowo.

class testWindowViewModel : ObservedObject
    {
       //cos..
    }

interface IWindowService
    {
        void ShowWindow(object window, object viewModel);
    }

    class WindowService : IWindowService
    {
        public void ShowWindow(object window, object viewModel)
        {
            Window win = (Window)window;
            win.Content = viewModel;
            win.Show();
        }
    }

class MainViewModel : ObservedObject
    {
        public ICommand StartButtonCommand { get; private set; }
        TestWindowViewModel testWinViewModel;
        IWindowService windowService;
        public MainViewModel()
        {
            StartButtonCommand = new RelayCommand(StartButtonClick);
            testWinViewModel = new TestWindowViewModel();
            windowService = new WindowService();
        }

        private void StartButtonClick(object obj)
        {
            var testWindow = new TestWindow();
            windowService.ShowWindow(testWindow, testWinViewModel);
        }
    }