ColorEdit.xaml.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using InABox.Wpf;
  2. using System.Drawing;
  3. using System.Windows;
  4. namespace InABox.WPF
  5. {
  6. /// <summary>
  7. /// Interaction logic for ColorSelector.xaml
  8. /// </summary>
  9. public partial class ColorEdit : ThemableWindow
  10. {
  11. public ColorEdit(string title, Color value)
  12. {
  13. InitializeComponent();
  14. Title = title;
  15. Value = value;
  16. }
  17. public Color Value
  18. {
  19. get => Color.FromArgb(Editor.SelectedColor.Value.A, Editor.SelectedColor.Value.R, Editor.SelectedColor.Value.G,
  20. Editor.SelectedColor.Value.B);
  21. set => Editor.SelectedColor = System.Windows.Media.Color.FromArgb(value.A, value.R, value.G, value.B);
  22. }
  23. private void OK_Click(object sender, RoutedEventArgs e)
  24. {
  25. DialogResult = true;
  26. Close();
  27. }
  28. private void Cancel_Click(object sender, RoutedEventArgs e)
  29. {
  30. DialogResult = false;
  31. Close();
  32. }
  33. public static bool Execute(string title, ref Color value)
  34. {
  35. var edit = new ColorEdit(title, value);
  36. if (edit.ShowDialog() == true)
  37. {
  38. value = edit.Value;
  39. return true;
  40. }
  41. return false;
  42. }
  43. }
  44. }