ItemsRepeaterElementIndexChangedEventArgs.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // This source file is adapted from the WinUI project.
  2. // (https://github.com/microsoft/microsoft-ui-xaml)
  3. //
  4. // Licensed to The Avalonia Project under MIT License, courtesy of The .NET Foundation.
  5. using System;
  6. namespace Avalonia.Controls
  7. {
  8. /// <summary>
  9. /// Provides data for the <see cref="ItemsRepeater.ElementIndexChanged"/> event.
  10. /// </summary>
  11. public class ItemsRepeaterElementIndexChangedEventArgs : EventArgs
  12. {
  13. internal ItemsRepeaterElementIndexChangedEventArgs(IControl element, int oldIndex, int newIndex)
  14. {
  15. Element = element;
  16. OldIndex = oldIndex;
  17. NewIndex = newIndex;
  18. }
  19. /// <summary>
  20. /// Get the element for which the index changed.
  21. /// </summary>
  22. public IControl Element { get; private set; }
  23. /// <summary>
  24. /// Gets the index of the element after the change.
  25. /// </summary>
  26. public int NewIndex { get; private set; }
  27. /// <summary>
  28. /// Gets the index of the element before the change.
  29. /// </summary>
  30. public int OldIndex { get; private set; }
  31. internal void Update(IControl element, int newIndex, int oldIndex)
  32. {
  33. Element = element;
  34. NewIndex = newIndex;
  35. OldIndex = oldIndex;
  36. }
  37. }
  38. }