ViewExtensions.cs 719 B

123456789101112131415161718192021222324
  1. using System;
  2. using Terminal.Gui;
  3. namespace ReactiveExample;
  4. public static class ViewExtensions
  5. {
  6. public static (Window MainView, TOut LastControl) AddControl<TOut> (this Window view, Action<TOut> action)
  7. where TOut : View, new()
  8. {
  9. TOut result = new ();
  10. action (result);
  11. view.Add (result);
  12. return (view, result);
  13. }
  14. public static (Window MainView, TOut LastControl) AddControlAfter<TOut> (this (Window MainView, View LastControl) view, Action<View, TOut> action)
  15. where TOut : View, new()
  16. {
  17. TOut result = new ();
  18. action (view.LastControl, result);
  19. view.MainView.Add (result);
  20. return (view.MainView, result);
  21. }
  22. }