public static void QuickPlot(double[] x, double[] y, Tuple<double, double> xRange = null, Tuple<double, double> yRange = null) { PlotHelper.Dispatcher.Invoke(() => { var window = new Window() { Width = 640, Height = 480 }; var plotControl = new PlotControl(); plotControl.AddLine( x.Zip(y, (a, b) => new OxyPlot.DataPoint(a, b)) .ToArray()); if (xRange != null) { var xAxis = plotControl.Plot.Axes.First(); xAxis.Minimum = xRange.Item1; xAxis.Maximum = xRange.Item2; } window.Content = plotControl; window.Title = "Plot Window"; window.Show(); window.Focus(); window.BringIntoView(); window.InvalidateVisual(); }); }
private void OnShowUserForm(object sender, RoutedEventArgs e) { var window = new Window(); var view = new UserFormView(); Action<Person> onSubmit = p => { window.Close(); MessageBox.Show(string.Format("{0} (aged: {1} years) added!", p.Name, p.Age)); }; Action onCancel = window.Close; var viewModel = new UserForm("Add user", onSubmit, onCancel); view.DataContext = viewModel; window.Content = view; window.Show(); window.BringIntoView(); }
private void OnShowCompanyForm(object sender, RoutedEventArgs e) { var window = new Window(); var view = new CompanyFormView(); Action<Company> onSubmit = co => { window.Close(); MessageBox.Show(string.Format("{0} added!", co.Name)); }; Action onCancel = window.Close; var viewModel = new CompanyForm("Add company", onSubmit, onCancel); view.DataContext = viewModel; window.Content = view; window.Show(); window.BringIntoView(); }