private void SetTheme(bool dark) { ((PuzzleViewModel)DataContext).DarkThemed = dark; if (dark) { ThemeController.SetDarkTheme(Application.Current); } else { ThemeController.SetLightTheme(Application.Current); } }
private void PrintExecutedHandler(object sender, ExecutedRoutedEventArgs e) { PrintDialog printDialog = new PrintDialog { UserPageRangeEnabled = false, CurrentPageEnabled = false }; if (printDialog.ShowDialog() == true) { const double cPaddingPercentage = 6.25; PuzzleView puzzleView = new PuzzleView { Padding = new Thickness(Math.Min(printDialog.PrintableAreaHeight, printDialog.PrintableAreaWidth) * (cPaddingPercentage / 100D)), DataContext = this.DataContext }; // always print using the light theme ThemeController.SetLightTheme(puzzleView); printDialog.PrintVisual(puzzleView, "Sudoku puzzle"); } }