CommandBarOverflowPage.xaml.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Avalonia.Controls;
  2. using Avalonia.Interactivity;
  3. namespace ControlCatalog.Pages
  4. {
  5. public partial class CommandBarOverflowPage : UserControl
  6. {
  7. private int _primaryCount;
  8. private int _secondaryCount;
  9. public CommandBarOverflowPage()
  10. {
  11. InitializeComponent();
  12. }
  13. private void OnOverflowVisChanged(object? sender, SelectionChangedEventArgs e)
  14. {
  15. if (DemoBar == null)
  16. return;
  17. DemoBar.OverflowButtonVisibility = OverflowVisCombo.SelectedIndex switch
  18. {
  19. 1 => CommandBarOverflowButtonVisibility.Visible,
  20. 2 => CommandBarOverflowButtonVisibility.Collapsed,
  21. _ => CommandBarOverflowButtonVisibility.Auto
  22. };
  23. }
  24. private void OnIsOpenChanged(object? sender, RoutedEventArgs e)
  25. {
  26. if (DemoBar == null)
  27. return;
  28. DemoBar.IsOpen = IsOpenCheck.IsChecked == true;
  29. }
  30. private void OnIsStickyChanged(object? sender, RoutedEventArgs e)
  31. {
  32. if (DemoBar == null)
  33. return;
  34. DemoBar.IsSticky = IsStickyCheck.IsChecked == true;
  35. }
  36. private void OnAddPrimary(object? sender, RoutedEventArgs e)
  37. {
  38. _primaryCount++;
  39. DemoBar.PrimaryCommands.Add(new CommandBarButton { Label = $"Cmd {_primaryCount}" });
  40. }
  41. private void OnAddSecondary(object? sender, RoutedEventArgs e)
  42. {
  43. _secondaryCount++;
  44. DemoBar.SecondaryCommands.Add(new CommandBarButton { Label = $"Sec {_secondaryCount}" });
  45. }
  46. }
  47. }