Не знаю на сколько это верное решение, но вот что я сделал погуглив ещё немного.
Создал WindowService
public interface IWindowService
{
public void ShowWindow<T>(object dataContext) where T : Window, new();
}
public class WindowService : IWindowService
{
public void ShowWindow<T>(object dataContext) where T : Window, new()
{
var window = new T
{
DataContext = dataContext
};
window.Show();
}
}
Создал само окно GraphWindow.xaml и его ViewModel - GraphViewModel
А в MainViewModel создал вот такой метод
// PS. ws = WindowService
public void ExecuteShowGraph(object parameter)
{
ws.ShowWindow<GraphWindow>(new GraphViewModel(Коллекция точек для графика));
}