ImageSettingsView.axaml.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Avalonia.Controls;
  2. using PicView.Avalonia.ViewModels;
  3. namespace PicView.Avalonia.Views;
  4. public partial class ImageSettingsView : UserControl
  5. {
  6. public ImageSettingsView()
  7. {
  8. InitializeComponent();
  9. Loaded += delegate
  10. {
  11. ImageAliasingBox.SelectedIndex = Settings.ImageScaling.IsScalingSetToNearestNeighbor ? 1 : 0;
  12. ImageAliasingBox.SelectionChanged += async delegate
  13. {
  14. if (ImageAliasingBox.SelectedIndex == -1)
  15. {
  16. return;
  17. }
  18. Settings.ImageScaling.IsScalingSetToNearestNeighbor = ImageAliasingBox.SelectedIndex == 1;
  19. if (DataContext is MainViewModel vm)
  20. {
  21. vm.ImageViewer.TriggerScalingModeUpdate(true);
  22. }
  23. await SaveSettingsAsync();
  24. };
  25. ImageAliasingBox.DropDownOpened += delegate
  26. {
  27. if (ImageAliasingBox.SelectedIndex == -1)
  28. {
  29. ImageAliasingBox.SelectedIndex = Settings.ImageScaling.IsScalingSetToNearestNeighbor ? 0 : 1;
  30. }
  31. };
  32. };
  33. }
  34. }