PropertyChangedTracker.cs 972 B

123456789101112131415161718192021222324252627282930313233
  1. // -----------------------------------------------------------------------
  2. // <copyright file="PropertyChangedTracker.cs" company="Steven Kirk">
  3. // Copyright 2015 MIT Licence. See licence.md for more information.
  4. // </copyright>
  5. // -----------------------------------------------------------------------
  6. namespace Perspex.Base.UnitTests.Collections
  7. {
  8. using System;
  9. using System.Collections.Generic;
  10. using System.ComponentModel;
  11. internal class PropertyChangedTracker
  12. {
  13. public PropertyChangedTracker(INotifyPropertyChanged obj)
  14. {
  15. this.Names = new List<string>();
  16. obj.PropertyChanged += this.PropertyChanged;
  17. }
  18. public List<string> Names { get; private set; }
  19. public void Reset()
  20. {
  21. this.Names.Clear();
  22. }
  23. private void PropertyChanged(object sender, PropertyChangedEventArgs e)
  24. {
  25. this.Names.Add(e.PropertyName);
  26. }
  27. }
  28. }