diff --git a/samples/TestApplication/App.config b/samples/TestApplication/App.config
index 95bd940b8f..e354378dad 100644
--- a/samples/TestApplication/App.config
+++ b/samples/TestApplication/App.config
@@ -21,6 +21,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/samples/TestApplication/TestApplication.csproj b/samples/TestApplication/TestApplication.csproj
index 4ccecb2cd0..b56417d523 100644
--- a/samples/TestApplication/TestApplication.csproj
+++ b/samples/TestApplication/TestApplication.csproj
@@ -66,9 +66,6 @@
..\..\packages\Serilog.1.5.9\lib\net45\Serilog.FullNetFx.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
diff --git a/samples/TestApplication/packages.config b/samples/TestApplication/packages.config
index a1bddc832f..16c00246fc 100644
--- a/samples/TestApplication/packages.config
+++ b/samples/TestApplication/packages.config
@@ -1,11 +1,10 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/XamlTestApplication/XamlTestApplication.csproj b/samples/XamlTestApplication/XamlTestApplication.csproj
index 5e99700b38..d70e2e3297 100644
--- a/samples/XamlTestApplication/XamlTestApplication.csproj
+++ b/samples/XamlTestApplication/XamlTestApplication.csproj
@@ -36,6 +36,10 @@
4
+
+ ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
+ True
+
@@ -55,9 +59,6 @@
..\..\packages\Serilog.1.5.9\lib\net45\Serilog.FullNetFx.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\Sprache.2.0.0.47\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid1+MonoTouch1\Sprache.dll
diff --git a/samples/XamlTestApplication/packages.config b/samples/XamlTestApplication/packages.config
index 0fafe14cb6..e4f85a244e 100644
--- a/samples/XamlTestApplication/packages.config
+++ b/samples/XamlTestApplication/packages.config
@@ -7,6 +7,6 @@
-
+
\ No newline at end of file
diff --git a/src/Gtk/Perspex.Cairo/CairoPlatform.cs b/src/Gtk/Perspex.Cairo/CairoPlatform.cs
index f25aadda95..55da932a59 100644
--- a/src/Gtk/Perspex.Cairo/CairoPlatform.cs
+++ b/src/Gtk/Perspex.Cairo/CairoPlatform.cs
@@ -6,7 +6,6 @@ using Perspex.Cairo.Media;
using Perspex.Cairo.Media.Imaging;
using Perspex.Media;
using Perspex.Platform;
-using Splat;
namespace Perspex.Cairo
{
@@ -19,11 +18,7 @@ namespace Perspex.Cairo
private static Pango.Context s_pangoContext = CreatePangoContext();
- public static void Initialize()
- {
- var locator = Locator.CurrentMutable;
- locator.Register(() => s_instance, typeof(IPlatformRenderInterface));
- }
+ public static void Initialize() => PerspexLocator.CurrentMutable.Bind().ToConstant(s_instance);
public IBitmapImpl CreateBitmap(int width, int height)
{
diff --git a/src/Gtk/Perspex.Cairo/Media/FormattedTextImpl.cs b/src/Gtk/Perspex.Cairo/Media/FormattedTextImpl.cs
index 45987973b5..160e6e04b4 100644
--- a/src/Gtk/Perspex.Cairo/Media/FormattedTextImpl.cs
+++ b/src/Gtk/Perspex.Cairo/Media/FormattedTextImpl.cs
@@ -7,7 +7,6 @@ using System.Linq;
using System.Text;
using Perspex.Media;
using Perspex.Platform;
-using Splat;
namespace Perspex.Cairo.Media
{
diff --git a/src/Gtk/Perspex.Cairo/Media/StreamGeometryImpl.cs b/src/Gtk/Perspex.Cairo/Media/StreamGeometryImpl.cs
index 7e7f520f02..a408cba039 100644
--- a/src/Gtk/Perspex.Cairo/Media/StreamGeometryImpl.cs
+++ b/src/Gtk/Perspex.Cairo/Media/StreamGeometryImpl.cs
@@ -4,7 +4,6 @@
using System;
using Perspex.Media;
using Perspex.Platform;
-using Splat;
using System.Collections.Generic;
namespace Perspex.Cairo.Media
diff --git a/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj b/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj
index 6e4155d610..e389fac5b2 100644
--- a/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj
+++ b/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj
@@ -51,9 +51,6 @@
..\..\..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll
-
- ..\..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
diff --git a/src/Gtk/Perspex.Cairo/packages.config b/src/Gtk/Perspex.Cairo/packages.config
index b554ddfc08..d26f4b6d2a 100644
--- a/src/Gtk/Perspex.Cairo/packages.config
+++ b/src/Gtk/Perspex.Cairo/packages.config
@@ -1,6 +1,5 @@
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/Gtk/Perspex.Gtk/GtkPlatform.cs b/src/Gtk/Perspex.Gtk/GtkPlatform.cs
index 543cba012b..e6c2db7c9c 100644
--- a/src/Gtk/Perspex.Gtk/GtkPlatform.cs
+++ b/src/Gtk/Perspex.Gtk/GtkPlatform.cs
@@ -8,7 +8,6 @@ using Perspex.Input.Platform;
using Perspex.Input;
using Perspex.Platform;
using Perspex.Shared.PlatformSupport;
-using Splat;
namespace Perspex.Gtk
{
@@ -29,15 +28,16 @@ namespace Perspex.Gtk
public static void Initialize()
{
- var locator = Locator.CurrentMutable;
- locator.Register(() => new WindowImpl(), typeof(IWindowImpl));
- locator.Register(() => new PopupImpl(), typeof(IPopupImpl));
- locator.Register(() => new ClipboardImpl(), typeof(IClipboard));
- locator.Register(() => CursorFactory.Instance, typeof(IStandardCursorFactory));
- locator.Register(() => GtkKeyboardDevice.Instance, typeof(IKeyboardDevice));
- locator.Register(() => s_instance, typeof(IPlatformSettings));
- locator.Register(() => s_instance, typeof(IPlatformThreadingInterface));
- locator.Register(() => new SystemDialogImpl(), typeof (ISystemDialogImpl));
+ PerspexLocator.CurrentMutable
+ .Bind().ToTransient()
+ .Bind().ToTransient()
+ .Bind().ToSingleton()
+ .Bind().ToConstant(CursorFactory.Instance)
+ .Bind().ToConstant(GtkKeyboardDevice.Instance)
+ .Bind().ToConstant(GtkMouseDevice.Instance)
+ .Bind().ToConstant(s_instance)
+ .Bind().ToConstant(s_instance)
+ .Bind().ToSingleton();
SharedPlatform.Register();
}
diff --git a/src/Gtk/Perspex.Gtk/Perspex.Gtk.csproj b/src/Gtk/Perspex.Gtk/Perspex.Gtk.csproj
index 20b96380b4..1d286b3bf0 100644
--- a/src/Gtk/Perspex.Gtk/Perspex.Gtk.csproj
+++ b/src/Gtk/Perspex.Gtk/Perspex.Gtk.csproj
@@ -44,9 +44,6 @@
..\..\..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll
-
- ..\..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
diff --git a/src/Gtk/Perspex.Gtk/packages.config b/src/Gtk/Perspex.Gtk/packages.config
index a530073d85..e54889bccb 100644
--- a/src/Gtk/Perspex.Gtk/packages.config
+++ b/src/Gtk/Perspex.Gtk/packages.config
@@ -1,7 +1,6 @@
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/Markup/Perspex.Markup.Xaml/Context/PerspexWiringContext.cs b/src/Markup/Perspex.Markup.Xaml/Context/PerspexWiringContext.cs
index b75b07b289..4da18ba27f 100644
--- a/src/Markup/Perspex.Markup.Xaml/Context/PerspexWiringContext.cs
+++ b/src/Markup/Perspex.Markup.Xaml/Context/PerspexWiringContext.cs
@@ -20,7 +20,6 @@ using Perspex.Media.Imaging;
using Perspex.Metadata;
using Perspex.Platform;
using Perspex.Styling;
-using Splat;
namespace Perspex.Markup.Xaml.Context
{
@@ -52,7 +51,7 @@ namespace Perspex.Markup.Xaml.Context
foreach (var nsa in
forcedAssemblies
- .Concat(Locator.Current.GetService().GetLoadedAssemblies())
+ .Concat(PerspexLocator.Current.GetService().GetLoadedAssemblies())
.Distinct()
.SelectMany(asm
=> asm.GetCustomAttributes().Select(attr => new {asm, attr}))
diff --git a/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj b/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj
index 6da087ac13..243e7b5e5a 100644
--- a/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj
+++ b/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj
@@ -291,9 +291,6 @@
..\..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll
-
- ..\..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
..\..\..\packages\Sprache.2.0.0.47\lib\portable-net4+netcore45+win8+wp8+sl5+MonoAndroid1+MonoTouch1\Sprache.dll
diff --git a/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs b/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs
index 65e1ce4f71..db54e08cc5 100644
--- a/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs
+++ b/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs
@@ -8,7 +8,6 @@ using System.Reflection;
using OmniXaml;
using Perspex.Markup.Xaml.Context;
using Perspex.Platform;
-using Splat;
namespace Perspex.Markup.Xaml
{
@@ -57,7 +56,7 @@ namespace Perspex.Markup.Xaml
// HACK: Currently Visual Studio is forcing us to change the extension of xaml files
// in certain situations, so we try to load .xaml and if that's not found we try .paml.
// Ideally we'd be able to use .xaml everywhere
- var assetLocator = Locator.Current.GetService();
+ var assetLocator = PerspexLocator.Current.GetService();
if (assetLocator == null)
{
throw new InvalidOperationException(
@@ -86,7 +85,7 @@ namespace Perspex.Markup.Xaml
/// The loaded object.
public object Load(Uri uri, object rootInstance = null)
{
- var assetLocator = Locator.Current.GetService();
+ var assetLocator = PerspexLocator.Current.GetService();
if (assetLocator == null)
{
diff --git a/src/Markup/Perspex.Markup.Xaml/packages.config b/src/Markup/Perspex.Markup.Xaml/packages.config
index ffb9a430bf..7576d65eac 100644
--- a/src/Markup/Perspex.Markup.Xaml/packages.config
+++ b/src/Markup/Perspex.Markup.Xaml/packages.config
@@ -6,6 +6,5 @@
-
\ No newline at end of file
diff --git a/src/Perspex.Application/Application.cs b/src/Perspex.Application/Application.cs
index 09ab0a892a..ac93f82fec 100644
--- a/src/Perspex.Application/Application.cs
+++ b/src/Perspex.Application/Application.cs
@@ -12,7 +12,6 @@ using Perspex.Layout;
using Perspex.Rendering;
using Perspex.Styling;
using Perspex.Threading;
-using Splat;
namespace Perspex
{
@@ -40,7 +39,7 @@ namespace Perspex
private DataTemplates _dataTemplates;
private readonly Lazy _clipboard =
- new Lazy(() => (IClipboard)Locator.Current.GetService(typeof(IClipboard)));
+ new Lazy(() => (IClipboard)PerspexLocator.Current.GetService(typeof(IClipboard)));
///
/// The styler that will be used to apply styles to controls.
@@ -157,15 +156,16 @@ namespace Perspex
FocusManager = new FocusManager();
InputManager = new InputManager();
- Locator.CurrentMutable.Register(() => new AccessKeyHandler(), typeof(IAccessKeyHandler));
- Locator.CurrentMutable.Register(() => this, typeof(IGlobalDataTemplates));
- Locator.CurrentMutable.Register(() => this, typeof(IGlobalStyles));
- Locator.CurrentMutable.Register(() => FocusManager, typeof(IFocusManager));
- Locator.CurrentMutable.Register(() => InputManager, typeof(IInputManager));
- Locator.CurrentMutable.Register(() => new KeyboardNavigationHandler(), typeof(IKeyboardNavigationHandler));
- Locator.CurrentMutable.Register(() => _styler, typeof(IStyler));
- Locator.CurrentMutable.Register(() => new LayoutManager(), typeof(ILayoutManager));
- Locator.CurrentMutable.Register(() => new RenderManager(), typeof(IRenderManager));
+ PerspexLocator.CurrentMutable
+ .Bind().ToTransient()
+ .Bind().ToConstant(this)
+ .Bind().ToConstant(this)
+ .Bind().ToConstant(FocusManager)
+ .Bind().ToConstant(InputManager)
+ .Bind().ToTransient()
+ .Bind().ToConstant(_styler)
+ .Bind().ToTransient()
+ .Bind().ToTransient();
}
///
diff --git a/src/Perspex.Application/Perspex.Application.csproj b/src/Perspex.Application/Perspex.Application.csproj
index 9a16f9130b..c5fe995636 100644
--- a/src/Perspex.Application/Perspex.Application.csproj
+++ b/src/Perspex.Application/Perspex.Application.csproj
@@ -89,9 +89,6 @@
..\..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Application/packages.config b/src/Perspex.Application/packages.config
index 0913700f2d..d5af0dcd81 100644
--- a/src/Perspex.Application/packages.config
+++ b/src/Perspex.Application/packages.config
@@ -5,5 +5,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.Base/Perspex.Base.csproj b/src/Perspex.Base/Perspex.Base.csproj
index f6fdace315..d90087add4 100644
--- a/src/Perspex.Base/Perspex.Base.csproj
+++ b/src/Perspex.Base/Perspex.Base.csproj
@@ -46,6 +46,7 @@
+
@@ -93,9 +94,6 @@
..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Base/PerspexLocator.cs b/src/Perspex.Base/PerspexLocator.cs
new file mode 100644
index 0000000000..521cb263db
--- /dev/null
+++ b/src/Perspex.Base/PerspexLocator.cs
@@ -0,0 +1,120 @@
+using System;
+using System.Collections.Generic;
+using System.Reactive.Disposables;
+
+#pragma warning disable CS1591 // Enable me later
+
+namespace Perspex
+{
+ public class PerspexLocator : IPerspexDependencyResolver
+ {
+ private readonly IPerspexDependencyResolver _parentScope;
+ public static IPerspexDependencyResolver Current { get; set; }
+ public static PerspexLocator CurrentMutable { get; set; }
+ private readonly Dictionary> _registry = new Dictionary>();
+
+ static PerspexLocator()
+ {
+ Current = CurrentMutable = new PerspexLocator();
+ }
+
+ public PerspexLocator()
+ {
+
+ }
+
+ public PerspexLocator(IPerspexDependencyResolver parentScope)
+ {
+ _parentScope = parentScope;
+ }
+
+ public object GetService(Type t)
+ {
+ Func
diff --git a/src/Perspex.Controls/Primitives/Popup.cs b/src/Perspex.Controls/Primitives/Popup.cs
index 2a2917ace3..af28f72a39 100644
--- a/src/Perspex.Controls/Primitives/Popup.cs
+++ b/src/Perspex.Controls/Primitives/Popup.cs
@@ -5,7 +5,6 @@ using System;
using Perspex.Interactivity;
using Perspex.Rendering;
using Perspex.VisualTree;
-using Splat;
namespace Perspex.Controls.Primitives
{
@@ -94,7 +93,7 @@ namespace Perspex.Controls.Primitives
/// This property allows a client to customize the behaviour of the popup by injecting
/// a specialized dependency resolver into the 's constructor.
///
- public IDependencyResolver DependencyResolver
+ public IPerspexDependencyResolver DependencyResolver
{
get;
set;
diff --git a/src/Perspex.Controls/Primitives/PopupRoot.cs b/src/Perspex.Controls/Primitives/PopupRoot.cs
index ee2db7dc0e..4e628f79f0 100644
--- a/src/Perspex.Controls/Primitives/PopupRoot.cs
+++ b/src/Perspex.Controls/Primitives/PopupRoot.cs
@@ -8,7 +8,6 @@ using Perspex.Interactivity;
using Perspex.Media;
using Perspex.Platform;
using Perspex.VisualTree;
-using Splat;
namespace Perspex.Controls.Primitives
{
@@ -41,8 +40,8 @@ namespace Perspex.Controls.Primitives
///
/// The dependency resolver to use. If null the default dependency resolver will be used.
///
- public PopupRoot(IDependencyResolver dependencyResolver)
- : base(Locator.Current.GetService(), dependencyResolver)
+ public PopupRoot(IPerspexDependencyResolver dependencyResolver)
+ : base(PerspexLocator.Current.GetService(), dependencyResolver)
{
GetObservable(ParentProperty).Subscribe(x => InheritanceParent = (PerspexObject)x);
}
diff --git a/src/Perspex.Controls/SystemDialog.cs b/src/Perspex.Controls/SystemDialog.cs
index ce424f31fa..6eae1e9e9d 100644
--- a/src/Perspex.Controls/SystemDialog.cs
+++ b/src/Perspex.Controls/SystemDialog.cs
@@ -2,7 +2,6 @@
using System.Linq;
using System.Threading.Tasks;
using Perspex.Controls.Platform;
-using Splat;
namespace Perspex.Controls
{
@@ -20,7 +19,7 @@ namespace Perspex.Controls
public async Task ShowAsync(Window window = null)
=>
- ((await Locator.Current.GetService().ShowFileDialogAsync(this, window?.PlatformImpl)) ??
+ ((await PerspexLocator.Current.GetService().ShowFileDialogAsync(this, window?.PlatformImpl)) ??
new string[0]).FirstOrDefault();
}
@@ -29,7 +28,7 @@ namespace Perspex.Controls
public bool AllowMultiple { get; set; }
public Task ShowAsync(Window window = null)
- => Locator.Current.GetService().ShowFileDialogAsync(this, window?.PlatformImpl);
+ => PerspexLocator.Current.GetService().ShowFileDialogAsync(this, window?.PlatformImpl);
}
public abstract class SystemDialog
diff --git a/src/Perspex.Controls/Templates/DataTemplateExtensions.cs b/src/Perspex.Controls/Templates/DataTemplateExtensions.cs
index 3fd09024cf..f99fe41d26 100644
--- a/src/Perspex.Controls/Templates/DataTemplateExtensions.cs
+++ b/src/Perspex.Controls/Templates/DataTemplateExtensions.cs
@@ -3,7 +3,6 @@
using System.Linq;
using Perspex.LogicalTree;
-using Splat;
namespace Perspex.Controls.Templates
{
@@ -63,7 +62,7 @@ namespace Perspex.Controls.Templates
}
}
- IGlobalDataTemplates global = Locator.Current.GetService();
+ IGlobalDataTemplates global = PerspexLocator.Current.GetService();
if (global != null)
{
diff --git a/src/Perspex.Controls/TextBox.cs b/src/Perspex.Controls/TextBox.cs
index fc3bc91585..e8eaf70a73 100644
--- a/src/Perspex.Controls/TextBox.cs
+++ b/src/Perspex.Controls/TextBox.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Perspex.Input.Platform;
-using Splat;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -150,13 +149,13 @@ namespace Perspex.Controls
private async void Copy()
{
- await ((IClipboard)Locator.Current.GetService(typeof(IClipboard)))
+ await ((IClipboard)PerspexLocator.Current.GetService(typeof(IClipboard)))
.SetTextAsync(GetSelection());
}
private async void Paste()
{
- var text = await ((IClipboard)Locator.Current.GetService(typeof(IClipboard))).GetTextAsync();
+ var text = await ((IClipboard)PerspexLocator.Current.GetService(typeof(IClipboard))).GetTextAsync();
if (text == null)
{
return;
diff --git a/src/Perspex.Controls/TopLevel.cs b/src/Perspex.Controls/TopLevel.cs
index 47e13e41ff..33a7eca9a2 100644
--- a/src/Perspex.Controls/TopLevel.cs
+++ b/src/Perspex.Controls/TopLevel.cs
@@ -12,7 +12,6 @@ using Perspex.Platform;
using Perspex.Rendering;
using Perspex.Styling;
using Perspex.Threading;
-using Splat;
namespace Perspex.Controls
{
@@ -87,7 +86,7 @@ namespace Perspex.Controls
///
/// The platform-specific window implementation.
public TopLevel(ITopLevelImpl impl)
- : this(impl, Locator.Current)
+ : this(impl, PerspexLocator.Current)
{
}
@@ -98,7 +97,7 @@ namespace Perspex.Controls
///
/// The dependency resolver to use. If null the default dependency resolver will be used.
///
- public TopLevel(ITopLevelImpl impl, IDependencyResolver dependencyResolver)
+ public TopLevel(ITopLevelImpl impl, IPerspexDependencyResolver dependencyResolver)
{
if (impl == null)
{
@@ -108,7 +107,7 @@ namespace Perspex.Controls
PlatformImpl = impl;
- dependencyResolver = dependencyResolver ?? Locator.Current;
+ dependencyResolver = dependencyResolver ?? PerspexLocator.Current;
var renderInterface = TryGetService(dependencyResolver);
var styler = TryGetService(dependencyResolver);
_accessKeyHandler = TryGetService(dependencyResolver);
@@ -327,13 +326,13 @@ namespace Perspex.Controls
}
///
- /// Tries to get a service from an , throwing an
+ /// Tries to get a service from an , throwing an
/// exception if not found.
///
/// The service type.
/// The resolver.
/// The service.
- private static T TryGetService(IDependencyResolver resolver) where T : class
+ private static T TryGetService(IPerspexDependencyResolver resolver) where T : class
{
var result = resolver.GetService();
diff --git a/src/Perspex.Controls/Window.cs b/src/Perspex.Controls/Window.cs
index fb3fee2587..5b01d6c63b 100644
--- a/src/Perspex.Controls/Window.cs
+++ b/src/Perspex.Controls/Window.cs
@@ -8,7 +8,6 @@ using Perspex.Input;
using Perspex.Media;
using Perspex.Platform;
using Perspex.Styling;
-using Splat;
namespace Perspex.Controls
{
@@ -72,7 +71,7 @@ namespace Perspex.Controls
/// Initializes a new instance of the class.
///
public Window()
- : base(Locator.Current.GetService())
+ : base(PerspexLocator.Current.GetService())
{
_maxPlatformClientSize = this.PlatformImpl.MaxClientSize;
}
diff --git a/src/Perspex.Controls/packages.config b/src/Perspex.Controls/packages.config
index e901739010..7d2a813bf7 100644
--- a/src/Perspex.Controls/packages.config
+++ b/src/Perspex.Controls/packages.config
@@ -6,5 +6,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.HtmlRenderer/Adapters/PerspexAdapter.cs b/src/Perspex.HtmlRenderer/Adapters/PerspexAdapter.cs
index 26dcaeb442..0411c7e26e 100644
--- a/src/Perspex.HtmlRenderer/Adapters/PerspexAdapter.cs
+++ b/src/Perspex.HtmlRenderer/Adapters/PerspexAdapter.cs
@@ -9,7 +9,6 @@ using Perspex;
using Perspex.Input.Platform;
using Perspex.Media;
using Perspex.Media.Imaging;
-using Splat;
using TheArtOfDev.HtmlRenderer.Adapters;
using TheArtOfDev.HtmlRenderer.Adapters.Entities;
using TheArtOfDev.HtmlRenderer.Perspex.Utilities;
@@ -118,7 +117,7 @@ namespace TheArtOfDev.HtmlRenderer.Perspex.Adapters
protected override void SetToClipboardInt(string text)
{
- Locator.Current.GetService().SetTextAsync(text);
+ PerspexLocator.Current.GetService().SetTextAsync(text);
}
protected override void SetToClipboardInt(RImage image)
diff --git a/src/Perspex.HtmlRenderer/Perspex.HtmlRenderer.csproj b/src/Perspex.HtmlRenderer/Perspex.HtmlRenderer.csproj
index ef8f2edb78..7167ab0a7f 100644
--- a/src/Perspex.HtmlRenderer/Perspex.HtmlRenderer.csproj
+++ b/src/Perspex.HtmlRenderer/Perspex.HtmlRenderer.csproj
@@ -172,9 +172,6 @@
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll
diff --git a/src/Perspex.HtmlRenderer/packages.config b/src/Perspex.HtmlRenderer/packages.config
index c5594cb5ab..f23358716a 100644
--- a/src/Perspex.HtmlRenderer/packages.config
+++ b/src/Perspex.HtmlRenderer/packages.config
@@ -4,5 +4,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.Input/Cursors.cs b/src/Perspex.Input/Cursors.cs
index 2c4367d5c0..889cc68774 100644
--- a/src/Perspex.Input/Cursors.cs
+++ b/src/Perspex.Input/Cursors.cs
@@ -1,7 +1,6 @@
// Copyright (c) The Perspex Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
-using Splat;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -50,7 +49,7 @@ namespace Perspex.Input
public Cursor(StandardCursorType cursorType)
: this(
- ((IStandardCursorFactory)Locator.Current.GetService(typeof(IStandardCursorFactory))).GetCursor(
+ ((IStandardCursorFactory)PerspexLocator.Current.GetService(typeof(IStandardCursorFactory))).GetCursor(
cursorType))
{
}
diff --git a/src/Perspex.Input/FocusManager.cs b/src/Perspex.Input/FocusManager.cs
index 74fb29e683..945e9ad782 100644
--- a/src/Perspex.Input/FocusManager.cs
+++ b/src/Perspex.Input/FocusManager.cs
@@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.Linq;
using Perspex.Interactivity;
using Perspex.VisualTree;
-using Splat;
namespace Perspex.Input
{
@@ -35,7 +34,7 @@ namespace Perspex.Input
///
/// Gets the instance of the .
///
- public static IFocusManager Instance => Locator.Current.GetService();
+ public static IFocusManager Instance => PerspexLocator.Current.GetService();
///
/// Gets the currently focused .
diff --git a/src/Perspex.Input/InputManager.cs b/src/Perspex.Input/InputManager.cs
index 5b6338b084..eb25850d3d 100644
--- a/src/Perspex.Input/InputManager.cs
+++ b/src/Perspex.Input/InputManager.cs
@@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Reactive.Subjects;
using Perspex.Input.Raw;
-using Splat;
namespace Perspex.Input
{
@@ -16,7 +15,7 @@ namespace Perspex.Input
private readonly Subject _postProcess = new Subject();
- public static IInputManager Instance => Locator.Current.GetService();
+ public static IInputManager Instance => PerspexLocator.Current.GetService();
public IObservable RawEventReceived => _rawEventReceived;
diff --git a/src/Perspex.Input/KeyboardDevice.cs b/src/Perspex.Input/KeyboardDevice.cs
index 8aff90bae4..390e925ce5 100644
--- a/src/Perspex.Input/KeyboardDevice.cs
+++ b/src/Perspex.Input/KeyboardDevice.cs
@@ -8,7 +8,6 @@ using System.Reactive.Linq;
using System.Runtime.CompilerServices;
using Perspex.Input.Raw;
using Perspex.Interactivity;
-using Splat;
namespace Perspex.Input
{
@@ -26,11 +25,11 @@ namespace Perspex.Input
public event PropertyChangedEventHandler PropertyChanged;
- public static IKeyboardDevice Instance => Locator.Current.GetService();
+ public static IKeyboardDevice Instance => PerspexLocator.Current.GetService();
- public IInputManager InputManager => Locator.Current.GetService();
+ public IInputManager InputManager => PerspexLocator.Current.GetService();
- public IFocusManager FocusManager => Locator.Current.GetService();
+ public IFocusManager FocusManager => PerspexLocator.Current.GetService();
public IInputElement FocusedElement
{
diff --git a/src/Perspex.Input/MouseDevice.cs b/src/Perspex.Input/MouseDevice.cs
index 9b0fb17ea6..6cde0d8faf 100644
--- a/src/Perspex.Input/MouseDevice.cs
+++ b/src/Perspex.Input/MouseDevice.cs
@@ -9,7 +9,6 @@ using Perspex.Input.Raw;
using Perspex.Interactivity;
using Perspex.Platform;
using Perspex.VisualTree;
-using Splat;
namespace Perspex.Input
{
@@ -31,7 +30,7 @@ namespace Perspex.Input
.Subscribe(ProcessRawEvent);
}
- public static IMouseDevice Instance => Locator.Current.GetService();
+ public static IMouseDevice Instance => PerspexLocator.Current.GetService();
public IInputElement Captured
{
@@ -39,7 +38,7 @@ namespace Perspex.Input
protected set;
}
- public IInputManager InputManager => Locator.Current.GetService();
+ public IInputManager InputManager => PerspexLocator.Current.GetService();
public Point Position
{
@@ -107,7 +106,7 @@ namespace Perspex.Input
if (source != null)
{
- var settings = Locator.Current.GetService();
+ var settings = PerspexLocator.Current.GetService();
var doubleClickTime = settings.DoubleClickTime.TotalMilliseconds;
if (!_lastClickRect.Contains(p) || timestamp - _lastClickTime > doubleClickTime)
diff --git a/src/Perspex.Input/Perspex.Input.csproj b/src/Perspex.Input/Perspex.Input.csproj
index e9233cbf25..366d7c4711 100644
--- a/src/Perspex.Input/Perspex.Input.csproj
+++ b/src/Perspex.Input/Perspex.Input.csproj
@@ -126,9 +126,6 @@
..\..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Input/packages.config b/src/Perspex.Input/packages.config
index 0913700f2d..d5af0dcd81 100644
--- a/src/Perspex.Input/packages.config
+++ b/src/Perspex.Input/packages.config
@@ -5,5 +5,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.Interactivity/Perspex.Interactivity.csproj b/src/Perspex.Interactivity/Perspex.Interactivity.csproj
index 1f18564d89..c67efb6c11 100644
--- a/src/Perspex.Interactivity/Perspex.Interactivity.csproj
+++ b/src/Perspex.Interactivity/Perspex.Interactivity.csproj
@@ -81,9 +81,6 @@
..\..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Interactivity/packages.config b/src/Perspex.Interactivity/packages.config
index 0913700f2d..d5af0dcd81 100644
--- a/src/Perspex.Interactivity/packages.config
+++ b/src/Perspex.Interactivity/packages.config
@@ -5,5 +5,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.Layout/Perspex.Layout.csproj b/src/Perspex.Layout/Perspex.Layout.csproj
index f20320f026..50c6338217 100644
--- a/src/Perspex.Layout/Perspex.Layout.csproj
+++ b/src/Perspex.Layout/Perspex.Layout.csproj
@@ -80,9 +80,6 @@
..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Layout/packages.config b/src/Perspex.Layout/packages.config
index e901739010..7d2a813bf7 100644
--- a/src/Perspex.Layout/packages.config
+++ b/src/Perspex.Layout/packages.config
@@ -6,5 +6,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.SceneGraph/Media/EllipseGeometry.cs b/src/Perspex.SceneGraph/Media/EllipseGeometry.cs
index 142b8b7f6b..d8887ac035 100644
--- a/src/Perspex.SceneGraph/Media/EllipseGeometry.cs
+++ b/src/Perspex.SceneGraph/Media/EllipseGeometry.cs
@@ -3,7 +3,6 @@
using System;
using Perspex.Platform;
-using Splat;
namespace Perspex.Media
{
@@ -18,7 +17,7 @@ namespace Perspex.Media
/// The rectangle that the ellipse should fill.
public EllipseGeometry(Rect rect)
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
IStreamGeometryImpl impl = factory.CreateStreamGeometry();
using (IStreamGeometryContextImpl ctx = impl.Open())
diff --git a/src/Perspex.SceneGraph/Media/FormattedText.cs b/src/Perspex.SceneGraph/Media/FormattedText.cs
index 0d8b4eb298..b8e8c5ddee 100644
--- a/src/Perspex.SceneGraph/Media/FormattedText.cs
+++ b/src/Perspex.SceneGraph/Media/FormattedText.cs
@@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using Perspex.Platform;
-using Splat;
namespace Perspex.Media
{
@@ -37,7 +36,7 @@ namespace Perspex.Media
FontWeight = fontWeight;
TextAlignment = textAlignment;
- var platform = Locator.Current.GetService();
+ var platform = PerspexLocator.Current.GetService();
PlatformImpl = platform.CreateFormattedText(
text,
diff --git a/src/Perspex.SceneGraph/Media/Imaging/Bitmap.cs b/src/Perspex.SceneGraph/Media/Imaging/Bitmap.cs
index 92ec2ac1b9..55b25738ad 100644
--- a/src/Perspex.SceneGraph/Media/Imaging/Bitmap.cs
+++ b/src/Perspex.SceneGraph/Media/Imaging/Bitmap.cs
@@ -3,7 +3,6 @@
using System.IO;
using Perspex.Platform;
-using Splat;
namespace Perspex.Media.Imaging
{
@@ -18,7 +17,7 @@ namespace Perspex.Media.Imaging
/// The filename of the bitmap.
public Bitmap(string fileName)
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
PlatformImpl = factory.LoadBitmap(fileName);
}
@@ -28,7 +27,7 @@ namespace Perspex.Media.Imaging
/// The stream to read the bitmap from.
public Bitmap(Stream stream)
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
PlatformImpl = factory.LoadBitmap(stream);
}
@@ -39,7 +38,7 @@ namespace Perspex.Media.Imaging
/// The height of the bitmap, in pixels.
public Bitmap(int width, int height)
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
PlatformImpl = factory.CreateBitmap(width, height);
}
diff --git a/src/Perspex.SceneGraph/Media/Imaging/RenderTargetBitmap.cs b/src/Perspex.SceneGraph/Media/Imaging/RenderTargetBitmap.cs
index 6637ffc5d4..90b83dff6b 100644
--- a/src/Perspex.SceneGraph/Media/Imaging/RenderTargetBitmap.cs
+++ b/src/Perspex.SceneGraph/Media/Imaging/RenderTargetBitmap.cs
@@ -3,7 +3,6 @@
using System;
using Perspex.Platform;
-using Splat;
namespace Perspex.Media.Imaging
{
@@ -55,7 +54,7 @@ namespace Perspex.Media.Imaging
/// The platform-specific implementation.
private static IBitmapImpl CreateImpl(int width, int height)
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
return factory.CreateRenderTargetBitmap(width, height);
}
}
diff --git a/src/Perspex.SceneGraph/Media/RectangleGeometry.cs b/src/Perspex.SceneGraph/Media/RectangleGeometry.cs
index fabc354cdf..190d467127 100644
--- a/src/Perspex.SceneGraph/Media/RectangleGeometry.cs
+++ b/src/Perspex.SceneGraph/Media/RectangleGeometry.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Perspex.Platform;
-using Splat;
namespace Perspex.Media
{
@@ -17,7 +16,7 @@ namespace Perspex.Media
/// The rectangle bounds.
public RectangleGeometry(Rect rect)
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
IStreamGeometryImpl impl = factory.CreateStreamGeometry();
using (IStreamGeometryContextImpl context = impl.Open())
diff --git a/src/Perspex.SceneGraph/Media/StreamGeometry.cs b/src/Perspex.SceneGraph/Media/StreamGeometry.cs
index 8d61d2c31a..4d0b353f5d 100644
--- a/src/Perspex.SceneGraph/Media/StreamGeometry.cs
+++ b/src/Perspex.SceneGraph/Media/StreamGeometry.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Perspex.Platform;
-using Splat;
namespace Perspex.Media
{
@@ -16,7 +15,7 @@ namespace Perspex.Media
///
public StreamGeometry()
{
- IPlatformRenderInterface factory = Locator.Current.GetService();
+ IPlatformRenderInterface factory = PerspexLocator.Current.GetService();
PlatformImpl = factory.CreateStreamGeometry();
}
diff --git a/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj b/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj
index 4cf3651824..4b8c5c3778 100644
--- a/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj
+++ b/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj
@@ -143,9 +143,6 @@
..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.SceneGraph/packages.config b/src/Perspex.SceneGraph/packages.config
index e901739010..7d2a813bf7 100644
--- a/src/Perspex.SceneGraph/packages.config
+++ b/src/Perspex.SceneGraph/packages.config
@@ -6,5 +6,4 @@
-
\ No newline at end of file
diff --git a/src/Perspex.Styling/Perspex.Styling.csproj b/src/Perspex.Styling/Perspex.Styling.csproj
index cd9816f9fc..c0776e27c2 100644
--- a/src/Perspex.Styling/Perspex.Styling.csproj
+++ b/src/Perspex.Styling/Perspex.Styling.csproj
@@ -77,9 +77,6 @@
..\..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Styling/Styling/Styler.cs b/src/Perspex.Styling/Styling/Styler.cs
index 67f8bc537f..d9780de6e6 100644
--- a/src/Perspex.Styling/Styling/Styler.cs
+++ b/src/Perspex.Styling/Styling/Styler.cs
@@ -4,7 +4,6 @@
using System;
using System.Linq;
using Perspex.VisualTree;
-using Splat;
namespace Perspex.Styling
{
@@ -17,7 +16,7 @@ namespace Perspex.Styling
.GetSelfAndVisualAncestors()
.OfType()
.FirstOrDefault();
- IGlobalStyles global = Locator.Current.GetService();
+ IGlobalStyles global = PerspexLocator.Current.GetService();
if (global != null)
{
diff --git a/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj b/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
index 3b8d4114a6..4c6218f1b9 100644
--- a/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
+++ b/src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
@@ -118,9 +118,6 @@
..\..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll
-
- ..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll
-
diff --git a/src/Perspex.Themes.Default/packages.config b/src/Perspex.Themes.Default/packages.config
index 0913700f2d..d5af0dcd81 100644
--- a/src/Perspex.Themes.Default/packages.config
+++ b/src/Perspex.Themes.Default/packages.config
@@ -5,5 +5,4 @@
-
\ No newline at end of file
diff --git a/src/Shared/PlatformSupport/SharedPlatform.cs b/src/Shared/PlatformSupport/SharedPlatform.cs
index 3a6680e64d..33f8b54332 100644
--- a/src/Shared/PlatformSupport/SharedPlatform.cs
+++ b/src/Shared/PlatformSupport/SharedPlatform.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Text;
using Perspex.Platform;
-using Splat;
namespace Perspex.Shared.PlatformSupport
{
@@ -10,9 +9,9 @@ namespace Perspex.Shared.PlatformSupport
{
public static void Register()
{
- var locator = Locator.CurrentMutable;
- locator.Register(() => new PclPlatformWrapper(), typeof(IPclPlatformWrapper));
- locator.RegisterConstant(new AssetLoader(), typeof(IAssetLoader));
+ PerspexLocator.CurrentMutable
+ .Bind().ToSingleton()
+ .Bind().ToSingleton();
}
}
}
diff --git a/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs b/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs
index 31b0ff34a1..9005a9ffe3 100644
--- a/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs
+++ b/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs
@@ -6,7 +6,6 @@ using System.IO;
using Perspex.Direct2D1.Media;
using Perspex.Media;
using Perspex.Platform;
-using Splat;
namespace Perspex.Direct2D1
{
@@ -20,14 +19,11 @@ namespace Perspex.Direct2D1
private static readonly SharpDX.WIC.ImagingFactory s_imagingFactory = new SharpDX.WIC.ImagingFactory();
- public static void Initialize()
- {
- var locator = Locator.CurrentMutable;
- locator.Register(() => s_instance, typeof(IPlatformRenderInterface));
- locator.Register(() => s_d2D1Factory, typeof(SharpDX.Direct2D1.Factory));
- locator.Register(() => s_dwfactory, typeof(SharpDX.DirectWrite.Factory));
- locator.Register(() => s_imagingFactory, typeof(SharpDX.WIC.ImagingFactory));
- }
+ public static void Initialize() => PerspexLocator.CurrentMutable
+ .Bind().ToConstant(s_instance)
+ .BindToSelf(s_d2D1Factory)
+ .BindToSelf(s_dwfactory)
+ .BindToSelf(s_imagingFactory);
public IBitmapImpl CreateBitmap(int width, int height)
{
diff --git a/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs b/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs
index dd40e507b5..6ace607107 100644
--- a/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs
@@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.Linq;
using Perspex.Media;
using Perspex.Platform;
-using Splat;
using DWrite = SharpDX.DirectWrite;
namespace Perspex.Direct2D1.Media
@@ -21,7 +20,7 @@ namespace Perspex.Direct2D1.Media
TextAlignment textAlignment,
FontWeight fontWeight)
{
- var factory = Locator.Current.GetService();
+ var factory = PerspexLocator.Current.GetService();
var format = new DWrite.TextFormat(
factory,
diff --git a/src/Windows/Perspex.Direct2D1/Media/GeometryImpl.cs b/src/Windows/Perspex.Direct2D1/Media/GeometryImpl.cs
index 2d1665b27b..79df8d3f67 100644
--- a/src/Windows/Perspex.Direct2D1/Media/GeometryImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/GeometryImpl.cs
@@ -3,7 +3,6 @@
using Perspex.Platform;
using SharpDX.Direct2D1;
-using Splat;
namespace Perspex.Direct2D1.Media
{
@@ -59,7 +58,7 @@ namespace Perspex.Direct2D1.Media
if (!value.IsIdentity)
{
- Factory factory = Locator.Current.GetService();
+ Factory factory = PerspexLocator.Current.GetService();
_transformed = new TransformedGeometry(
factory,
DefiningGeometry,
diff --git a/src/Windows/Perspex.Direct2D1/Media/StreamGeometryImpl.cs b/src/Windows/Perspex.Direct2D1/Media/StreamGeometryImpl.cs
index 022a53f8c4..0b91d561b0 100644
--- a/src/Windows/Perspex.Direct2D1/Media/StreamGeometryImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/StreamGeometryImpl.cs
@@ -4,7 +4,6 @@
using Perspex.Media;
using Perspex.Platform;
using SharpDX.Direct2D1;
-using Splat;
using D2DGeometry = SharpDX.Direct2D1.Geometry;
namespace Perspex.Direct2D1.Media
@@ -21,7 +20,7 @@ namespace Perspex.Direct2D1.Media
///
public StreamGeometryImpl()
{
- Factory factory = Locator.Current.GetService();
+ Factory factory = PerspexLocator.Current.GetService();
_path = new PathGeometry(factory);
}
@@ -46,7 +45,7 @@ namespace Perspex.Direct2D1.Media
/// A cloned geometry.
public IStreamGeometryImpl Clone()
{
- Factory factory = Locator.Current.GetService();
+ Factory factory = PerspexLocator.Current.GetService();
var result = new PathGeometry(factory);
var sink = result.Open();
_path.Stream(sink);
diff --git a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
index 9a981c3bf1..f352a6d7a8 100644
--- a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
+++ b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
@@ -64,9 +64,6 @@
..\..\..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll
-
- ..\..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
diff --git a/src/Windows/Perspex.Direct2D1/Renderer.cs b/src/Windows/Perspex.Direct2D1/Renderer.cs
index ca628b08a6..b112dfea65 100644
--- a/src/Windows/Perspex.Direct2D1/Renderer.cs
+++ b/src/Windows/Perspex.Direct2D1/Renderer.cs
@@ -8,7 +8,6 @@ using Perspex.Platform;
using Perspex.Rendering;
using SharpDX;
using SharpDX.Direct2D1;
-using Splat;
using DwFactory = SharpDX.DirectWrite.Factory;
namespace Perspex.Direct2D1
@@ -28,8 +27,8 @@ namespace Perspex.Direct2D1
/// The height of the window.
public Renderer(IntPtr hwnd, double width, double height)
{
- Direct2DFactory = Locator.Current.GetService();
- DirectWriteFactory = Locator.Current.GetService();
+ Direct2DFactory = PerspexLocator.Current.GetService();
+ DirectWriteFactory = PerspexLocator.Current.GetService();
RenderTargetProperties renderTargetProperties = new RenderTargetProperties
{
@@ -54,8 +53,8 @@ namespace Perspex.Direct2D1
/// The render target.
public Renderer(RenderTarget renderTarget)
{
- Direct2DFactory = Locator.Current.GetService();
- DirectWriteFactory = Locator.Current.GetService();
+ Direct2DFactory = PerspexLocator.Current.GetService();
+ DirectWriteFactory = PerspexLocator.Current.GetService();
_renderTarget = renderTarget;
}
diff --git a/src/Windows/Perspex.Direct2D1/packages.config b/src/Windows/Perspex.Direct2D1/packages.config
index cbf7015309..0c1b74e828 100644
--- a/src/Windows/Perspex.Direct2D1/packages.config
+++ b/src/Windows/Perspex.Direct2D1/packages.config
@@ -6,5 +6,4 @@
-
\ No newline at end of file
diff --git a/src/Windows/Perspex.Win32/Perspex.Win32.csproj b/src/Windows/Perspex.Win32/Perspex.Win32.csproj
index 8c84a7a307..29adac0267 100644
--- a/src/Windows/Perspex.Win32/Perspex.Win32.csproj
+++ b/src/Windows/Perspex.Win32/Perspex.Win32.csproj
@@ -58,9 +58,6 @@
..\..\..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll
-
- ..\..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
diff --git a/src/Windows/Perspex.Win32/Win32Platform.cs b/src/Windows/Perspex.Win32/Win32Platform.cs
index 34a0cda13a..c513fbf97e 100644
--- a/src/Windows/Perspex.Win32/Win32Platform.cs
+++ b/src/Windows/Perspex.Win32/Win32Platform.cs
@@ -14,7 +14,6 @@ using Perspex.Platform;
using Perspex.Shared.PlatformSupport;
using Perspex.Win32.Input;
using Perspex.Win32.Interop;
-using Splat;
namespace Perspex.Win32
{
@@ -41,29 +40,28 @@ namespace Perspex.Win32
private static void InitializeInternal()
{
- var locator = Locator.CurrentMutable;
- locator.Register(() => new SystemDialogImpl(), typeof (ISystemDialogImpl));
- locator.Register(() => new PopupImpl(), typeof(IPopupImpl));
- locator.Register(() => new ClipboardImpl(), typeof(IClipboard));
- locator.Register(() => WindowsKeyboardDevice.Instance, typeof(IKeyboardDevice));
- locator.Register(() => WindowsMouseDevice.Instance, typeof(IMouseDevice));
- locator.Register(() => CursorFactory.Instance, typeof(IStandardCursorFactory));
- locator.Register(() => s_instance, typeof(IPlatformSettings));
- locator.Register(() => s_instance, typeof(IPlatformThreadingInterface));
+ PerspexLocator.CurrentMutable
+ .Bind().ToTransient()
+ .Bind().ToSingleton()
+ .Bind().ToConstant(CursorFactory.Instance)
+ .Bind().ToConstant(WindowsKeyboardDevice.Instance)
+ .Bind().ToConstant(WindowsMouseDevice.Instance)
+ .Bind().ToConstant(s_instance)
+ .Bind().ToConstant(s_instance)
+ .Bind().ToSingleton();
+
SharedPlatform.Register();
}
public static void Initialize()
{
- var locator = Locator.CurrentMutable;
- locator.Register(() => new WindowImpl(), typeof(IWindowImpl));
+ PerspexLocator.CurrentMutable.Bind().ToTransient();
InitializeInternal();
}
public static void InitializeEmbedded()
{
- var locator = Locator.CurrentMutable;
- locator.Register(() => new EmbeddedWindowImpl(), typeof(IWindowImpl));
+ PerspexLocator.CurrentMutable.Bind().ToTransient();
InitializeInternal();
}
diff --git a/src/Windows/Perspex.Win32/packages.config b/src/Windows/Perspex.Win32/packages.config
index db96d1825a..571e4fe023 100644
--- a/src/Windows/Perspex.Win32/packages.config
+++ b/src/Windows/Perspex.Win32/packages.config
@@ -5,5 +5,4 @@
-
\ No newline at end of file
diff --git a/tests/Perspex.Base.UnitTests/Perspex.Base.UnitTests.csproj b/tests/Perspex.Base.UnitTests/Perspex.Base.UnitTests.csproj
index e4f9b39569..fe60b3f768 100644
--- a/tests/Perspex.Base.UnitTests/Perspex.Base.UnitTests.csproj
+++ b/tests/Perspex.Base.UnitTests/Perspex.Base.UnitTests.csproj
@@ -47,9 +47,6 @@
..\..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
diff --git a/tests/Perspex.Base.UnitTests/packages.config b/tests/Perspex.Base.UnitTests/packages.config
index 4f02ad6cd2..b87bf5fff7 100644
--- a/tests/Perspex.Base.UnitTests/packages.config
+++ b/tests/Perspex.Base.UnitTests/packages.config
@@ -3,7 +3,6 @@
-
diff --git a/tests/Perspex.Controls.UnitTests/ContentControlTests.cs b/tests/Perspex.Controls.UnitTests/ContentControlTests.cs
index 6c5b6bc59f..a946e91d5b 100644
--- a/tests/Perspex.Controls.UnitTests/ContentControlTests.cs
+++ b/tests/Perspex.Controls.UnitTests/ContentControlTests.cs
@@ -13,7 +13,6 @@ using Perspex.Styling;
using Perspex.VisualTree;
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoMoq;
-using Splat;
using Xunit;
namespace Perspex.Controls.UnitTests
@@ -49,7 +48,7 @@ namespace Perspex.Controls.UnitTests
var target = new ContentControl();
var styler = new Mock();
- Locator.CurrentMutable.Register(() => styler.Object, typeof(IStyler));
+ PerspexLocator.CurrentMutable.Bind().ToConstant(styler.Object);
target.Content = "Foo";
target.Template = GetTemplate();
root.Child = target;
@@ -281,10 +280,11 @@ namespace Perspex.Controls.UnitTests
private IDisposable RegisterServices()
{
- var result = Locator.CurrentMutable.WithResolver();
+ var result = PerspexLocator.EnterScope();
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var renderInterface = fixture.Create();
- Locator.CurrentMutable.RegisterConstant(renderInterface, typeof(IPlatformRenderInterface));
+ PerspexLocator.CurrentMutable
+ .Bind().ToConstant(renderInterface);
return result;
}
}
diff --git a/tests/Perspex.Controls.UnitTests/ControlTests.cs b/tests/Perspex.Controls.UnitTests/ControlTests.cs
index 202226a67d..4a801fc0e9 100644
--- a/tests/Perspex.Controls.UnitTests/ControlTests.cs
+++ b/tests/Perspex.Controls.UnitTests/ControlTests.cs
@@ -7,7 +7,6 @@ using Perspex.Layout;
using Perspex.Platform;
using Perspex.Rendering;
using Perspex.Styling;
-using Splat;
using Xunit;
namespace Perspex.Controls.UnitTests
@@ -25,13 +24,13 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Adding_Control_To_IRenderRoot_Should_Style_Control()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
var root = new TestRoot();
var target = new Control();
var styler = new Mock();
- Locator.CurrentMutable.Register(() => styler.Object, typeof(IStyler));
+ PerspexLocator.CurrentMutable.Bind().ToConstant(styler.Object);
root.Child = target;
@@ -42,7 +41,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Adding_Tree_To_ILayoutRoot_Should_Style_Controls()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
var root = new TestRoot();
var parent = new Border();
@@ -50,7 +49,7 @@ namespace Perspex.Controls.UnitTests
var grandchild = new Control();
var styler = new Mock();
- Locator.CurrentMutable.Register(() => styler.Object, typeof(IStyler));
+ PerspexLocator.CurrentMutable.Bind().ToConstant(styler.Object);
parent.Child = child;
child.Child = grandchild;
diff --git a/tests/Perspex.Controls.UnitTests/DropDownTests.cs b/tests/Perspex.Controls.UnitTests/DropDownTests.cs
index ed5bebdcf7..a60f0fe86a 100644
--- a/tests/Perspex.Controls.UnitTests/DropDownTests.cs
+++ b/tests/Perspex.Controls.UnitTests/DropDownTests.cs
@@ -9,7 +9,6 @@ using Perspex.Controls.Templates;
using Perspex.Platform;
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoMoq;
-using Splat;
using Xunit;
namespace Perspex.Controls.UnitTests
@@ -58,10 +57,11 @@ namespace Perspex.Controls.UnitTests
private IDisposable RegisterServices()
{
- var result = Locator.CurrentMutable.WithResolver();
+ var result = PerspexLocator.EnterScope();
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var renderInterface = fixture.Create();
- Locator.CurrentMutable.RegisterConstant(renderInterface, typeof(IPlatformRenderInterface));
+ PerspexLocator.CurrentMutable.Bind().ToConstant(renderInterface);
+
return result;
}
}
diff --git a/tests/Perspex.Controls.UnitTests/Perspex.Controls.UnitTests.csproj b/tests/Perspex.Controls.UnitTests/Perspex.Controls.UnitTests.csproj
index 3389497951..6e31a61a8e 100644
--- a/tests/Perspex.Controls.UnitTests/Perspex.Controls.UnitTests.csproj
+++ b/tests/Perspex.Controls.UnitTests/Perspex.Controls.UnitTests.csproj
@@ -59,9 +59,6 @@
..\..\packages\AutoFixture.AutoMoq.3.31.1\lib\net40\Ploeh.AutoFixture.AutoMoq.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
diff --git a/tests/Perspex.Controls.UnitTests/Primitives/PopupTests.cs b/tests/Perspex.Controls.UnitTests/Primitives/PopupTests.cs
index 229f31c1f2..30ed62dca0 100644
--- a/tests/Perspex.Controls.UnitTests/Primitives/PopupTests.cs
+++ b/tests/Perspex.Controls.UnitTests/Primitives/PopupTests.cs
@@ -13,7 +13,6 @@ using Perspex.LogicalTree;
using Perspex.Platform;
using Perspex.Styling;
using Perspex.VisualTree;
-using Splat;
using Xunit;
namespace Perspex.Controls.UnitTests.Primitives
@@ -248,7 +247,7 @@ namespace Perspex.Controls.UnitTests.Primitives
private static IDisposable CreateServices()
{
- var result = Locator.Current.WithResolver();
+ var result = PerspexLocator.EnterScope();
var styles = new Styles
{
@@ -264,11 +263,14 @@ namespace Perspex.Controls.UnitTests.Primitives
var globalStyles = new Mock();
globalStyles.Setup(x => x.Styles).Returns(styles);
- Locator.CurrentMutable.Register(() => globalStyles.Object, typeof(IGlobalStyles));
- Locator.CurrentMutable.Register(() => new LayoutManager(), typeof(ILayoutManager));
- Locator.CurrentMutable.Register(() => new Mock().Object, typeof(IPlatformThreadingInterface));
- Locator.CurrentMutable.Register(() => new Mock().Object, typeof(IPopupImpl));
- Locator.CurrentMutable.Register(() => new Styler(), typeof(IStyler));
+
+ PerspexLocator.CurrentMutable
+ .Bind().ToTransient()
+ .Bind().ToFunc(() => globalStyles.Object)
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToTransient();
+
return result;
}
diff --git a/tests/Perspex.Controls.UnitTests/TemplatedControlTests.cs b/tests/Perspex.Controls.UnitTests/TemplatedControlTests.cs
index 7654531089..6177574dc0 100644
--- a/tests/Perspex.Controls.UnitTests/TemplatedControlTests.cs
+++ b/tests/Perspex.Controls.UnitTests/TemplatedControlTests.cs
@@ -9,7 +9,6 @@ using Perspex.Controls.Primitives;
using Perspex.Controls.Templates;
using Perspex.Styling;
using Perspex.VisualTree;
-using Splat;
using Xunit;
namespace Perspex.Controls.UnitTests
@@ -143,10 +142,11 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Templated_Children_Should_Be_Styled()
{
- using (Locator.Current.WithResolver())
+ using (PerspexLocator.EnterScope())
{
var styler = new Mock();
- Locator.CurrentMutable.Register(() => styler.Object, typeof(IStyler));
+
+ PerspexLocator.CurrentMutable.Bind().ToConstant(styler.Object);
TestTemplatedControl target;
diff --git a/tests/Perspex.Controls.UnitTests/TopLevelTests.cs b/tests/Perspex.Controls.UnitTests/TopLevelTests.cs
index 5e7a7531fb..899d5da151 100644
--- a/tests/Perspex.Controls.UnitTests/TopLevelTests.cs
+++ b/tests/Perspex.Controls.UnitTests/TopLevelTests.cs
@@ -14,7 +14,6 @@ using Perspex.Rendering;
using Perspex.Styling;
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoMoq;
-using Splat;
using Xunit;
namespace Perspex.Controls.UnitTests
@@ -24,7 +23,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void ClientSize_Should_Be_Set_On_Construction()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -40,7 +39,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Width_Should_Not_Be_Set_On_Construction()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -56,7 +55,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Height_Should_Not_Be_Set_On_Construction()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -72,7 +71,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Layout_Pass_Should_Not_Be_Automatically_Scheduled()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -88,10 +87,10 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Bounds_Should_Be_Set_After_Layout_Pass()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
- Locator.CurrentMutable.RegisterConstant(new LayoutManager(), typeof(ILayoutManager));
+ PerspexLocator.CurrentMutable.Bind().ToConstant(new LayoutManager());
var impl = new Mock();
impl.SetupProperty(x => x.ClientSize);
@@ -120,10 +119,10 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Impl_ClientSize_Should_Be_Set_After_Layout_Pass()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
- Locator.CurrentMutable.RegisterConstant(new LayoutManager(), typeof(ILayoutManager));
+ PerspexLocator.CurrentMutable.Bind().ToConstant(new LayoutManager());
var impl = new Mock();
@@ -150,7 +149,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Width_And_Height_Should_Not_Be_Set_After_Layout_Pass()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -168,11 +167,11 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Render_Should_Be_Scheduled_After_Layout_Pass()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
var completed = new Subject();
- var layoutManagerMock = Mock.Get(Locator.Current.GetService());
+ var layoutManagerMock = Mock.Get(PerspexLocator.Current.GetService());
layoutManagerMock.Setup(x => x.LayoutCompleted).Returns(completed);
var impl = new Mock();
@@ -181,7 +180,7 @@ namespace Perspex.Controls.UnitTests
var target = new TestTopLevel(impl.Object);
completed.OnNext(Unit.Default);
- var renderManagerMock = Mock.Get(Locator.Current.GetService());
+ var renderManagerMock = Mock.Get(PerspexLocator.Current.GetService());
renderManagerMock.Verify(x => x.InvalidateRender(target));
}
}
@@ -189,7 +188,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Width_And_Height_Should_Be_Set_After_Window_Resize_Notification()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -209,7 +208,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Activate_Should_Call_Impl_Activate()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -225,7 +224,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Impl_Activate_Should_Call_Raise_Activated_Event()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -245,7 +244,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Impl_Close_Should_Call_Raise_Closed_Event()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -265,7 +264,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Impl_Deactivate_Should_Call_Raise_Activated_Event()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -285,7 +284,7 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void Impl_Input_Should_Pass_Input_To_InputManager()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
RegisterServices();
@@ -308,7 +307,7 @@ namespace Perspex.Controls.UnitTests
private void RegisterServices()
{
var fixture = new Fixture().Customize(new AutoMoqCustomization());
- var l = Locator.CurrentMutable;
+ var l = PerspexLocator.CurrentMutable;
var formattedText = fixture.Create();
var globalStyles = new Mock();
@@ -320,14 +319,16 @@ namespace Perspex.Controls.UnitTests
globalStyles.Setup(x => x.Styles).Returns(theme);
- l.RegisterConstant(new Mock().Object, typeof(IInputManager));
- l.RegisterConstant(new Mock().Object, typeof(IFocusManager));
- l.RegisterConstant(globalStyles.Object, typeof(IGlobalStyles));
- l.RegisterConstant(layoutManager, typeof(ILayoutManager));
- l.RegisterConstant(new Mock().Object, typeof(IPlatformThreadingInterface));
- l.RegisterConstant(renderInterface, typeof(IPlatformRenderInterface));
- l.RegisterConstant(renderManager, typeof(IRenderManager));
- l.RegisterConstant(new Styler(), typeof(IStyler));
+
+ PerspexLocator.CurrentMutable
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToConstant(globalStyles.Object)
+ .Bind().ToConstant(layoutManager)
+ .Bind().ToConstant(renderInterface)
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToConstant(renderManager)
+ .Bind().ToConstant(new Styler());
}
private class TestTopLevel : TopLevel
diff --git a/tests/Perspex.Controls.UnitTests/packages.config b/tests/Perspex.Controls.UnitTests/packages.config
index b0d4f14c88..3c8dccc01e 100644
--- a/tests/Perspex.Controls.UnitTests/packages.config
+++ b/tests/Perspex.Controls.UnitTests/packages.config
@@ -8,7 +8,6 @@
-
diff --git a/tests/Perspex.Direct2D1.UnitTests/Controls/Shapes/PathTests.cs b/tests/Perspex.Direct2D1.UnitTests/Controls/Shapes/PathTests.cs
index cd5d318117..11747e7f04 100644
--- a/tests/Perspex.Direct2D1.UnitTests/Controls/Shapes/PathTests.cs
+++ b/tests/Perspex.Direct2D1.UnitTests/Controls/Shapes/PathTests.cs
@@ -4,7 +4,6 @@
using Perspex.Controls.Shapes;
using Perspex.Layout;
using Perspex.Media;
-using Splat;
using Xunit;
namespace Perspex.Direct2D1.UnitTests.Controls.Shapes
@@ -16,7 +15,7 @@ namespace Perspex.Direct2D1.UnitTests.Controls.Shapes
[Fact]
public void Should_Measure_Expander_Triangle_Correctly()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
Direct2D1Platform.Initialize();
@@ -39,7 +38,7 @@ namespace Perspex.Direct2D1.UnitTests.Controls.Shapes
[Fact]
public void Should_Measure_Expander_Triangle_With_Stroke_Correctly()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
Direct2D1Platform.Initialize();
diff --git a/tests/Perspex.Direct2D1.UnitTests/Media/GeometryTests.cs b/tests/Perspex.Direct2D1.UnitTests/Media/GeometryTests.cs
index de46378d00..e87c15eb19 100644
--- a/tests/Perspex.Direct2D1.UnitTests/Media/GeometryTests.cs
+++ b/tests/Perspex.Direct2D1.UnitTests/Media/GeometryTests.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using Perspex.Media;
-using Splat;
using Xunit;
namespace Perspex.Direct2D1.UnitTests.Media
@@ -14,7 +13,7 @@ namespace Perspex.Direct2D1.UnitTests.Media
[Fact]
public void Should_Measure_Expander_Triangle_Correctly()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
Direct2D1Platform.Initialize();
@@ -27,7 +26,7 @@ namespace Perspex.Direct2D1.UnitTests.Media
[Fact]
public void Should_Measure_Expander_Triangle_With_Stroke_Correctly()
{
- using (Locator.CurrentMutable.WithResolver())
+ using (PerspexLocator.EnterScope())
{
Direct2D1Platform.Initialize();
diff --git a/tests/Perspex.Direct2D1.UnitTests/Perspex.Direct2D1.UnitTests.csproj b/tests/Perspex.Direct2D1.UnitTests/Perspex.Direct2D1.UnitTests.csproj
index 24ad4cca75..2e5748bf0f 100644
--- a/tests/Perspex.Direct2D1.UnitTests/Perspex.Direct2D1.UnitTests.csproj
+++ b/tests/Perspex.Direct2D1.UnitTests/Perspex.Direct2D1.UnitTests.csproj
@@ -44,9 +44,6 @@
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll
diff --git a/tests/Perspex.Direct2D1.UnitTests/packages.config b/tests/Perspex.Direct2D1.UnitTests/packages.config
index 979ca3a8ef..ce1d9d0407 100644
--- a/tests/Perspex.Direct2D1.UnitTests/packages.config
+++ b/tests/Perspex.Direct2D1.UnitTests/packages.config
@@ -1,6 +1,5 @@
-
diff --git a/tests/Perspex.Input.UnitTests/Perspex.Input.UnitTests.csproj b/tests/Perspex.Input.UnitTests/Perspex.Input.UnitTests.csproj
index ddfa8ad1a7..e63ccac17e 100644
--- a/tests/Perspex.Input.UnitTests/Perspex.Input.UnitTests.csproj
+++ b/tests/Perspex.Input.UnitTests/Perspex.Input.UnitTests.csproj
@@ -44,9 +44,6 @@
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll
diff --git a/tests/Perspex.Input.UnitTests/packages.config b/tests/Perspex.Input.UnitTests/packages.config
index 979ca3a8ef..ce1d9d0407 100644
--- a/tests/Perspex.Input.UnitTests/packages.config
+++ b/tests/Perspex.Input.UnitTests/packages.config
@@ -1,6 +1,5 @@
-
diff --git a/tests/Perspex.Interactivity.UnitTests/Perspex.Interactivity.UnitTests.csproj b/tests/Perspex.Interactivity.UnitTests/Perspex.Interactivity.UnitTests.csproj
index 3ea7c3f38c..fee8683fa4 100644
--- a/tests/Perspex.Interactivity.UnitTests/Perspex.Interactivity.UnitTests.csproj
+++ b/tests/Perspex.Interactivity.UnitTests/Perspex.Interactivity.UnitTests.csproj
@@ -49,9 +49,6 @@
..\..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll
diff --git a/tests/Perspex.Interactivity.UnitTests/packages.config b/tests/Perspex.Interactivity.UnitTests/packages.config
index 979ca3a8ef..ce1d9d0407 100644
--- a/tests/Perspex.Interactivity.UnitTests/packages.config
+++ b/tests/Perspex.Interactivity.UnitTests/packages.config
@@ -1,6 +1,5 @@
-
diff --git a/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs b/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs
index 97b4d97805..fb714e5278 100644
--- a/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs
+++ b/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs
@@ -17,7 +17,6 @@ using Perspex.Styling;
using Perspex.Themes.Default;
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoMoq;
-using Splat;
using Xunit;
namespace Perspex.Layout.UnitTests
@@ -27,7 +26,7 @@ namespace Perspex.Layout.UnitTests
[Fact]
public void Grandchild_Size_Changed()
{
- using (var context = Locator.CurrentMutable.WithResolver())
+ using (var context = PerspexLocator.EnterScope())
{
RegisterServices();
@@ -66,7 +65,7 @@ namespace Perspex.Layout.UnitTests
[Fact]
public void Test_ScrollViewer_With_TextBlock()
{
- using (var context = Locator.CurrentMutable.WithResolver())
+ using (var context = PerspexLocator.EnterScope())
{
RegisterServices();
@@ -130,7 +129,7 @@ namespace Perspex.Layout.UnitTests
private void RegisterServices()
{
var fixture = new Fixture().Customize(new AutoMoqCustomization());
- var l = Locator.CurrentMutable;
+
var formattedText = fixture.Create();
var globalStyles = new Mock();
@@ -143,14 +142,15 @@ namespace Perspex.Layout.UnitTests
windowImpl.Setup(x => x.MaxClientSize).Returns(new Size(1024, 1024));
globalStyles.Setup(x => x.Styles).Returns(theme);
- l.RegisterConstant(new Mock().Object, typeof(IInputManager));
- l.RegisterConstant(globalStyles.Object, typeof(IGlobalStyles));
- l.RegisterConstant(new LayoutManager(), typeof(ILayoutManager));
- l.RegisterConstant(renderInterface, typeof(IPlatformRenderInterface));
- l.RegisterConstant(new Mock().Object, typeof(IPlatformThreadingInterface));
- l.RegisterConstant(renderManager, typeof(IRenderManager));
- l.RegisterConstant(new Styler(), typeof(IStyler));
- l.RegisterConstant(windowImpl.Object, typeof(IWindowImpl));
+ PerspexLocator.CurrentMutable
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToConstant(globalStyles.Object)
+ .Bind().ToConstant(new LayoutManager())
+ .Bind().ToConstant(renderInterface)
+ .Bind().ToConstant(new Mock().Object)
+ .Bind().ToConstant(renderManager)
+ .Bind().ToConstant(new Styler())
+ .Bind().ToConstant(windowImpl.Object);
}
}
}
diff --git a/tests/Perspex.Layout.UnitTests/Perspex.Layout.UnitTests.csproj b/tests/Perspex.Layout.UnitTests/Perspex.Layout.UnitTests.csproj
index e558a11fd5..e849ae0b25 100644
--- a/tests/Perspex.Layout.UnitTests/Perspex.Layout.UnitTests.csproj
+++ b/tests/Perspex.Layout.UnitTests/Perspex.Layout.UnitTests.csproj
@@ -56,9 +56,6 @@
..\..\packages\AutoFixture.AutoMoq.3.31.1\lib\net40\Ploeh.AutoFixture.AutoMoq.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll
diff --git a/tests/Perspex.Layout.UnitTests/packages.config b/tests/Perspex.Layout.UnitTests/packages.config
index 8190084b07..a031cf84fd 100644
--- a/tests/Perspex.Layout.UnitTests/packages.config
+++ b/tests/Perspex.Layout.UnitTests/packages.config
@@ -3,7 +3,6 @@
-
diff --git a/tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj b/tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj
index ac99be3bdf..60b3b02b11 100644
--- a/tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj
+++ b/tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj
@@ -53,9 +53,6 @@
..\..\packages\Magick.NET-Q16-AnyCPU.7.0.0.0018\lib\net40-client\Magick.NET.Core.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll
diff --git a/tests/Perspex.RenderTests/packages.config b/tests/Perspex.RenderTests/packages.config
index 1ae00bc4cd..c447f9c0e9 100644
--- a/tests/Perspex.RenderTests/packages.config
+++ b/tests/Perspex.RenderTests/packages.config
@@ -1,7 +1,6 @@
-
diff --git a/tests/Perspex.SceneGraph.UnitTests/Perspex.SceneGraph.UnitTests.csproj b/tests/Perspex.SceneGraph.UnitTests/Perspex.SceneGraph.UnitTests.csproj
index 4e49c5c307..e48d6ac73b 100644
--- a/tests/Perspex.SceneGraph.UnitTests/Perspex.SceneGraph.UnitTests.csproj
+++ b/tests/Perspex.SceneGraph.UnitTests/Perspex.SceneGraph.UnitTests.csproj
@@ -47,9 +47,6 @@
..\..\packages\xunit.extensibility.core.2.0.0\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.core.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
diff --git a/tests/Perspex.SceneGraph.UnitTests/packages.config b/tests/Perspex.SceneGraph.UnitTests/packages.config
index a2ad2a99ca..8cbc4ec26f 100644
--- a/tests/Perspex.SceneGraph.UnitTests/packages.config
+++ b/tests/Perspex.SceneGraph.UnitTests/packages.config
@@ -5,7 +5,6 @@
-
diff --git a/tests/Perspex.Styling.UnitTests/Perspex.Styling.UnitTests.csproj b/tests/Perspex.Styling.UnitTests/Perspex.Styling.UnitTests.csproj
index 180f5f313d..4099319b5a 100644
--- a/tests/Perspex.Styling.UnitTests/Perspex.Styling.UnitTests.csproj
+++ b/tests/Perspex.Styling.UnitTests/Perspex.Styling.UnitTests.csproj
@@ -50,9 +50,6 @@
..\..\packages\Moq.4.2.1507.0118\lib\net40\Moq.dll
-
- ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
-
..\..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
diff --git a/tests/Perspex.Styling.UnitTests/packages.config b/tests/Perspex.Styling.UnitTests/packages.config
index 3be7c908b3..3cf2b984d5 100644
--- a/tests/Perspex.Styling.UnitTests/packages.config
+++ b/tests/Perspex.Styling.UnitTests/packages.config
@@ -6,7 +6,6 @@
-