TestVisual.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Avalonia.VisualTree;
  5. namespace Avalonia.Base.UnitTests
  6. {
  7. public class ParamEventArgs<T> : EventArgs
  8. {
  9. public ParamEventArgs(T param)
  10. {
  11. Param = param;
  12. }
  13. public T Param { get; set; }
  14. }
  15. public class TestVisual : Visual
  16. {
  17. public Visual Child
  18. {
  19. get
  20. {
  21. return ((Visual)this).VisualChildren.FirstOrDefault();
  22. }
  23. set
  24. {
  25. if (Child != null)
  26. {
  27. VisualChildren.Remove(Child);
  28. }
  29. if (value != null)
  30. {
  31. VisualChildren.Add(value);
  32. }
  33. }
  34. }
  35. public void AddChild(Visual v)
  36. {
  37. VisualChildren.Add(v);
  38. }
  39. public void AddChildren(IEnumerable<Visual> v)
  40. {
  41. VisualChildren.AddRange(v);
  42. }
  43. public void RemoveChild(Visual v)
  44. {
  45. VisualChildren.Remove(v);
  46. }
  47. public void ClearChildren()
  48. {
  49. VisualChildren.Clear();
  50. }
  51. }
  52. }