XamlTestBase.cs 982 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Reflection;
  5. using System.Text;
  6. using Avalonia.Controls;
  7. using Avalonia.Data;
  8. namespace Avalonia.Markup.Xaml.UnitTests
  9. {
  10. public class XamlTestBase
  11. {
  12. public XamlTestBase()
  13. {
  14. // Ensure necessary assemblies are loaded.
  15. var _ = typeof(Binding);
  16. GC.KeepAlive(typeof(ItemsRepeater));
  17. if (AvaloniaLocator.Current.GetService<AvaloniaXamlLoader.IRuntimeXamlLoader>() == null)
  18. AvaloniaLocator.CurrentMutable.Bind<AvaloniaXamlLoader.IRuntimeXamlLoader>()
  19. .ToConstant(new TestXamlLoaderShim());
  20. }
  21. class TestXamlLoaderShim : AvaloniaXamlLoader.IRuntimeXamlLoader
  22. {
  23. public object Load(RuntimeXamlLoaderDocument document, RuntimeXamlLoaderConfiguration configuration)
  24. => AvaloniaRuntimeXamlLoader.Load(document, configuration);
  25. }
  26. }
  27. }