CommandBarTogglePage.xaml.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System.Collections.Generic;
  2. using Avalonia.Controls;
  3. using Avalonia.Interactivity;
  4. namespace ControlCatalog.Pages
  5. {
  6. public partial class CommandBarTogglePage : UserControl
  7. {
  8. public CommandBarTogglePage()
  9. {
  10. InitializeComponent();
  11. }
  12. private void OnFormatChanged(object? sender, RoutedEventArgs e)
  13. {
  14. if (FormatStatus == null)
  15. return;
  16. var active = new List<string>();
  17. if (BoldToggle.IsChecked == true) active.Add("Bold");
  18. if (ItalicToggle.IsChecked == true) active.Add("Italic");
  19. if (UnderlineToggle.IsChecked == true) active.Add("Underline");
  20. FormatStatus.Text = active.Count > 0 ? $"Active: {string.Join(", ", active)}" : "Active: (none)";
  21. ForceBoldCheck.IsChecked = BoldToggle.IsChecked;
  22. ForceItalicCheck.IsChecked = ItalicToggle.IsChecked;
  23. ForceUnderlineCheck.IsChecked = UnderlineToggle.IsChecked;
  24. }
  25. private void OnForceBoldChanged(object? sender, RoutedEventArgs e)
  26. {
  27. if (BoldToggle == null)
  28. return;
  29. BoldToggle.IsChecked = ForceBoldCheck.IsChecked;
  30. }
  31. private void OnForceItalicChanged(object? sender, RoutedEventArgs e)
  32. {
  33. if (ItalicToggle == null)
  34. return;
  35. ItalicToggle.IsChecked = ForceItalicCheck.IsChecked;
  36. }
  37. private void OnForceUnderlineChanged(object? sender, RoutedEventArgs e)
  38. {
  39. if (UnderlineToggle == null)
  40. return;
  41. UnderlineToggle.IsChecked = ForceUnderlineCheck.IsChecked;
  42. }
  43. }
  44. }