Browse Source

RegisterServices should be called by AppBuilder

pull/537/head
Nikita Tsukanov 10 years ago
parent
commit
e14ac5742f
  1. 5
      samples/BindingTest/App.xaml.cs
  2. 5
      samples/ControlCatalog/App.xaml.cs
  3. 9
      samples/TestApplicationShared/App.cs
  4. 5
      samples/XamlTestApplicationPcl/XamlTestApp.cs
  5. 2
      src/Avalonia.Controls/AppBuilder.cs
  6. 2
      src/Avalonia.Controls/Application.cs
  7. 6
      tests/Avalonia.DesignerSupport.TestApp/App.xaml.cs
  8. 21
      tests/Avalonia.UnitTests/UnitTestApplication.cs

5
samples/BindingTest/App.xaml.cs

@ -9,11 +9,6 @@ namespace BindingTest
{
public class App : Application
{
public App()
{
RegisterServices();
}
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);

5
samples/ControlCatalog/App.xaml.cs

@ -5,11 +5,6 @@ namespace ControlCatalog
{
public class App : Application
{
public App()
{
RegisterServices();
}
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);

9
samples/TestApplicationShared/App.cs

@ -17,15 +17,6 @@ namespace TestApplication
{
public class App : Application
{
public App()
{
// TODO: I believe this has to happen before we select sub systems. Can we
// move this safely into Application itself? Is there anything in here
// that is platform specific??
//
RegisterServices();
}
public void Run()
{
Styles.Add(new DefaultTheme());

5
samples/XamlTestApplicationPcl/XamlTestApp.cs

@ -6,11 +6,6 @@ namespace XamlTestApplication
{
public class XamlTestApp : Application
{
public XamlTestApp()
{
RegisterServices();
}
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);

2
src/Avalonia.Controls/AppBuilder.cs

@ -83,7 +83,7 @@ namespace Avalonia.Controls
{
throw new InvalidOperationException("No rendering system configured.");
}
Instance.RegisterServices();
WindowingSubsystem();
RenderingSubsystem();
Instance.Initialize();

2
src/Avalonia.Controls/Application.cs

@ -171,7 +171,7 @@ namespace Avalonia
/// <summary>
/// Register's the services needed by Avalonia.
/// </summary>
protected virtual void RegisterServices()
public virtual void RegisterServices()
{
AvaloniaSynchronizationContext.InstallIfNeeded();
FocusManager = new FocusManager();

6
tests/Avalonia.DesignerSupport.TestApp/App.xaml.cs

@ -9,12 +9,6 @@ namespace Avalonia.DesignerSupport.TestApp
{
public class App : Application
{
public App()
{
RegisterServices();
}
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);

21
tests/Avalonia.UnitTests/UnitTestApplication.cs

@ -12,22 +12,17 @@ namespace Avalonia.UnitTests
{
public class UnitTestApplication : Application
{
private readonly TestServices _services;
public UnitTestApplication(TestServices services)
{
Services = services ?? new TestServices();
_services = services ?? new TestServices();
RegisterServices();
var styles = Services.Theme?.Invoke();
if (styles != null)
{
Styles.AddRange(styles);
}
}
public static new UnitTestApplication Current => (UnitTestApplication)Application.Current;
public TestServices Services { get; }
public TestServices Services => _services;
public static IDisposable Start(TestServices services = null)
{
@ -37,7 +32,7 @@ namespace Avalonia.UnitTests
return scope;
}
protected override void RegisterServices()
public override void RegisterServices()
{
AvaloniaLocator.CurrentMutable
.Bind<IAssetLoader>().ToConstant(Services.AssetLoader)
@ -53,6 +48,12 @@ namespace Avalonia.UnitTests
.Bind<IStyler>().ToConstant(Services.Styler)
.Bind<IWindowingPlatform>().ToConstant(Services.WindowingPlatform)
.Bind<IApplicationLifecycle>().ToConstant(this);
var styles = Services.Theme?.Invoke();
if (styles != null)
{
Styles.AddRange(styles);
}
}
}
}

Loading…
Cancel
Save