PipsPagerEventsPage.xaml.cs 768 B

1234567891011121314151617181920212223242526272829
  1. using System.Collections.ObjectModel;
  2. using Avalonia.Controls;
  3. namespace ControlCatalog.Pages;
  4. public partial class PipsPagerEventsPage : UserControl
  5. {
  6. private readonly ObservableCollection<string> _events = new();
  7. public PipsPagerEventsPage()
  8. {
  9. InitializeComponent();
  10. EventLog.ItemsSource = _events;
  11. EventPager.PropertyChanged += (_, e) =>
  12. {
  13. if (e.Property != PipsPager.SelectedPageIndexProperty)
  14. return;
  15. var newIndex = (int)e.NewValue!;
  16. StatusText.Text = $"Selected: {newIndex}";
  17. _events.Insert(0, $"SelectedPageIndex changed to {newIndex}");
  18. if (_events.Count > 20)
  19. _events.RemoveAt(_events.Count - 1);
  20. };
  21. }
  22. }