diff --git a/Perspex.sln b/Perspex.sln
index 874bab37ef..26a0fd1273 100644
--- a/Perspex.sln
+++ b/Perspex.sln
@@ -59,8 +59,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Direct2D1.UnitTests
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Xaml", "src\Markup\Perspex.Xaml\Perspex.Xaml.csproj", "{3E53A01A-B331-47F3-B828-4A5717E77A24}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Xaml.Desktop", "src\Markup\Perspex.Xaml.Desktop\Perspex.Xaml.Desktop.csproj", "{EB468C39-AAC4-4963-A7B2-0A405EA63EDD}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlTestApplication", "samples\XamlTestApplication\XamlTestApplication.csproj", "{78CAFE33-DBEB-4132-8A28-81CFE8A4933C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Markup", "Markup", "{8B6A8209-894F-4BA1-B880-965FD453982C}"
@@ -178,10 +176,6 @@ Global
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E53A01A-B331-47F3-B828-4A5717E77A24}.Release|Any CPU.Build.0 = Release|Any CPU
- {EB468C39-AAC4-4963-A7B2-0A405EA63EDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EB468C39-AAC4-4963-A7B2-0A405EA63EDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EB468C39-AAC4-4963-A7B2-0A405EA63EDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EB468C39-AAC4-4963-A7B2-0A405EA63EDD}.Release|Any CPU.Build.0 = Release|Any CPU
{78CAFE33-DBEB-4132-8A28-81CFE8A4933C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{78CAFE33-DBEB-4132-8A28-81CFE8A4933C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{78CAFE33-DBEB-4132-8A28-81CFE8A4933C}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -205,7 +199,6 @@ Global
{AC18926A-E784-40FE-B09D-BB0FE2B599F0} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{EFB11458-9CDF-41C0-BE4F-44AF45A4CAB8} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{3E53A01A-B331-47F3-B828-4A5717E77A24} = {8B6A8209-894F-4BA1-B880-965FD453982C}
- {EB468C39-AAC4-4963-A7B2-0A405EA63EDD} = {8B6A8209-894F-4BA1-B880-965FD453982C}
{78CAFE33-DBEB-4132-8A28-81CFE8A4933C} = {9B9E3891-2366-4253-A952-D08BCEB71098}
EndGlobalSection
EndGlobal
diff --git a/samples/XamlTestApplication/Views/MainWindow.cs b/samples/XamlTestApplication/Views/MainWindow.cs
index b1d74acbc8..e6053ce51b 100644
--- a/samples/XamlTestApplication/Views/MainWindow.cs
+++ b/samples/XamlTestApplication/Views/MainWindow.cs
@@ -6,12 +6,11 @@
using System.Reflection;
using System.Resources;
using OmniXaml;
- using OmniXaml.AppServices.Mvvm;
+ using Perspex.Controls;
using Perspex.Diagnostics;
using Perspex.Xaml.Desktop;
- [ViewToken("Main", typeof(MainWindow))]
- public class MainWindow : PerspexWindow
+ public class MainWindow : Window
{
public MainWindow()
{
diff --git a/samples/XamlTestApplication/XamlTestApplication.csproj b/samples/XamlTestApplication/XamlTestApplication.csproj
index ef9447af18..5ea8e34004 100644
--- a/samples/XamlTestApplication/XamlTestApplication.csproj
+++ b/samples/XamlTestApplication/XamlTestApplication.csproj
@@ -177,10 +177,6 @@
{3e10a5fa-e8da-48b1-ad44-6a5b6cb7750f}
Perspex.Themes.Default
-
- {eb468c39-aac4-4963-a7b2-0a405ea63edd}
- Perspex.Xaml.Desktop
-
{3e53a01a-b331-47f3-b828-4a5717e77a24}
Perspex.Xaml
diff --git a/src/Markup/Perspex.Xaml.Desktop/InflatableResourceTranslator.cs b/src/Markup/Perspex.Xaml.Desktop/InflatableResourceTranslator.cs
deleted file mode 100644
index 0c4e8e228f..0000000000
--- a/src/Markup/Perspex.Xaml.Desktop/InflatableResourceTranslator.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-namespace Perspex.Xaml.Desktop
-{
- using System;
- using System.Globalization;
- using System.IO;
- using System.Linq;
- using System.Reflection;
- using System.Resources;
- using OmniXaml.AppServices;
-
- public class InflatableResourceTranslator : IInflatableTranslator
- {
- public Stream GetStream(Type type)
- {
- var uri = GetUriFor(type);
- var assembly = Assembly.GetEntryAssembly();
- var resourceName = assembly.GetName().Name + ".g";
- var manager = new ResourceManager(resourceName, assembly);
-
- using (ResourceSet resourceSet = manager.GetResourceSet(CultureInfo.CurrentCulture, true, true))
- {
- Stream s = (Stream)resourceSet.GetObject(uri.ToString(), true);
-
- if (s == null)
- {
- throw new IOException(
- "The requested resource could not be found: " +
- uri.OriginalString);
- }
-
- return s;
- }
- }
-
- private static Uri GetUriFor(Type type)
- {
- if (type.Namespace != null)
- {
- var toRemove = type.Assembly.GetName().Name;
- var substracted = toRemove.Length < type.Namespace.Length ? type.Namespace.Remove(0, toRemove.Length + 1) : "";
- var replace = substracted.Replace('.', Path.PathSeparator);
- if (replace != string.Empty)
- {
- replace = replace + "/";
- }
- return new Uri(replace + type.Name + ".xaml", UriKind.Relative);
- }
-
- return null;
- }
-
- public Type GetTypeFor(Uri uri)
- {
- var withExt = uri.OriginalString;
- var lastSlash = withExt.LastIndexOf("/", StringComparison.Ordinal);
- var innerNs = withExt.Substring(0, lastSlash);
- var fileName = withExt.Substring(lastSlash + 1, withExt.Length - lastSlash - 1);
-
- var className = fileName.Substring(0, fileName.LastIndexOf('.'));
-
-
- var assemblies = AppDomain.CurrentDomain.GetAssemblies().ToList();
- var type = from assembly in assemblies
- let t = assembly.GetType(GetName(assembly, innerNs, className))
- where t != null
- select t;
-
- return type.First();
- }
-
- private static string GetName(Assembly assembly, string innerNs, string className)
- {
- var ns = assembly.GetName().Name + "." + innerNs;
- var fullLocator = ns + "." + className;
- return fullLocator;
- }
- }
-}
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml.Desktop/Perspex.Xaml.Desktop.csproj b/src/Markup/Perspex.Xaml.Desktop/Perspex.Xaml.Desktop.csproj
deleted file mode 100644
index fd2fc5de1d..0000000000
--- a/src/Markup/Perspex.Xaml.Desktop/Perspex.Xaml.Desktop.csproj
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {EB468C39-AAC4-4963-A7B2-0A405EA63EDD}
- Library
- Properties
- Perspex.Xaml.Desktop
- Perspex.Xaml.Desktop
- v4.6
- 512
-
-
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- ..\..\..\packages\Glass.1.4.4.0\lib\portable-net451+win81+wpa81\Glass.dll
- True
-
-
- ..\..\..\packages\OmniXaml.1.4.4.0\lib\portable-net451+win81+wpa81\OmniXaml.dll
- True
-
-
- ..\..\..\packages\OmniXaml.AppServices.1.4.4.0\lib\portable-net451+win81+wpa81\OmniXaml.AppServices.dll
- True
-
-
- ..\..\..\packages\OmniXaml.AppServices.Mvvm.1.4.4.0\lib\portable-net451+win81+wpa81\OmniXaml.AppServices.Mvvm.dll
- True
-
-
- ..\..\..\packages\OmniXaml.AppServices.NetCore.1.4.4.0\lib\net46\OmniXaml.AppServices.NetCore.dll
- True
-
-
- ..\..\..\packages\reactiveui-core.6.5.0\lib\Net45\ReactiveUI.dll
- True
-
-
- ..\..\..\packages\Serilog.1.5.9\lib\net45\Serilog.dll
- True
-
-
- ..\..\..\packages\Serilog.1.5.9\lib\net45\Serilog.FullNetFx.dll
- True
-
-
- False
- $(SharpDXPackageBinDir)\SharpDX.dll
-
-
- False
- $(SharpDXPackageBinDir)\SharpDX.Direct2D1.dll
-
-
- False
- $(SharpDXPackageBinDir)\SharpDX.DXGI.dll
-
-
- ..\..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
- True
-
-
- ..\..\..\packages\Sprache.SuperJMN.2.0.0.46\lib\portable-net451+win81+wpa81\Sprache.dll
- True
-
-
-
-
-
- ..\..\..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
- True
-
-
- ..\..\..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll
- True
-
-
- ..\..\..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll
- True
-
-
- ..\..\..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll
- True
-
-
- ..\..\..\packages\Rx-XAML.2.2.5\lib\net45\System.Reactive.Windows.Threading.dll
- True
-
-
-
-
-
-
-
-
-
-
-
-
- Properties\SharedAssemblyInfo.cs
-
-
-
-
-
-
-
-
- {d211e587-d8bc-45b9-95a4-f297c8fa5200}
- Perspex.Animation
-
-
- {b09b78d8-9b26-48b0-9149-d64a2f120f3f}
- Perspex.Base
-
-
- {d2221c82-4a25-4583-9b43-d791e3f6820c}
- Perspex.Controls
-
-
- {62024b2d-53eb-4638-b26b-85eeaa54866e}
- Perspex.Input
-
-
- {6b0ed19d-a08b-461c-a9d9-a9ee40b0c06b}
- Perspex.Interactivity
-
-
- {42472427-4774-4c81-8aff-9f27b8e31721}
- Perspex.Layout
-
-
- {eb582467-6abb-43a1-b052-e981ba910e3a}
- Perspex.SceneGraph
-
-
- {f1baa01a-f176-4c6a-b39d-5b40bb1b148f}
- Perspex.Styling
-
-
- {3E53A01A-B331-47F3-B828-4A5717E77A24}
- Perspex.Xaml
-
-
-
-
-
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml.Desktop/PerspexWindow.cs b/src/Markup/Perspex.Xaml.Desktop/PerspexWindow.cs
deleted file mode 100644
index 23c727e5b5..0000000000
--- a/src/Markup/Perspex.Xaml.Desktop/PerspexWindow.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Perspex.Xaml.Desktop
-{
- using Controls;
- using OmniXaml.AppServices.Mvvm;
-
- public class PerspexWindow : Window, IView
- {
- public void SetViewModel(object viewModel)
- {
- this.DataContext = viewModel;
- }
- }
-}
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml.Desktop/Properties/AssemblyInfo.cs b/src/Markup/Perspex.Xaml.Desktop/Properties/AssemblyInfo.cs
deleted file mode 100644
index 841674882b..0000000000
--- a/src/Markup/Perspex.Xaml.Desktop/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-// -----------------------------------------------------------------------
-//
-// Copyright 2015 MIT Licence. See licence.md for more information.
-//
-// -----------------------------------------------------------------------
-
-using System.Reflection;
-
-[assembly: AssemblyTitle("Perspex.Xaml.Desktop")]
diff --git a/src/Markup/Perspex.Xaml.Desktop/packages.config b/src/Markup/Perspex.Xaml.Desktop/packages.config
deleted file mode 100644
index 50be3b2d3b..0000000000
--- a/src/Markup/Perspex.Xaml.Desktop/packages.config
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml/HighLevel/IResourceProvider.cs b/src/Markup/Perspex.Xaml/HighLevel/IResourceProvider.cs
deleted file mode 100644
index 151a06d60f..0000000000
--- a/src/Markup/Perspex.Xaml/HighLevel/IResourceProvider.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Perspex.Xaml.HighLevel
-{
- using System;
- using System.IO;
-
- public interface IResourceProvider
- {
- Stream GetStream(Uri uri);
- }
-}
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml/HighLevel/PerspexLoaderFactory.cs b/src/Markup/Perspex.Xaml/HighLevel/PerspexLoaderFactory.cs
deleted file mode 100644
index aafad7c322..0000000000
--- a/src/Markup/Perspex.Xaml/HighLevel/PerspexLoaderFactory.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Perspex.Xaml.HighLevel
-{
- using Context;
- using OmniXaml;
-
- public static class PerspexWiringContextFactory
- {
- private static IWiringContext context;
-
- public static IWiringContext GetContext(ITypeFactory factory)
- {
- if (context == null)
- {
- context = new PerspexWiringContext(factory);
- }
-
- return context;
- }
- }
-}
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml/HighLevel/PerspexObjectAssemblerFactory.cs b/src/Markup/Perspex.Xaml/HighLevel/PerspexObjectAssemblerFactory.cs
deleted file mode 100644
index 6de80663fb..0000000000
--- a/src/Markup/Perspex.Xaml/HighLevel/PerspexObjectAssemblerFactory.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Perspex.Xaml.HighLevel
-{
- using OmniXaml;
- using Context;
- using OmniXaml.ObjectAssembler;
-
- public class PerspexObjectAssemblerFactory : IObjectAssemblerFactory
- {
- private readonly WiringContext context;
-
- public PerspexObjectAssemblerFactory(WiringContext context)
- {
- this.context = context;
- }
-
- public IObjectAssembler CreateAssembler(ObjectAssemblerSettings settings)
- {
- return new PerspexObjectAssembler(context, settings);
- }
- }
-}
\ No newline at end of file
diff --git a/src/Markup/Perspex.Xaml/Perspex.Xaml.csproj b/src/Markup/Perspex.Xaml/Perspex.Xaml.csproj
index 00ae1936a3..aca6e00e59 100644
--- a/src/Markup/Perspex.Xaml/Perspex.Xaml.csproj
+++ b/src/Markup/Perspex.Xaml/Perspex.Xaml.csproj
@@ -38,9 +38,6 @@
Properties\SharedAssemblyInfo.cs
-
-
-
@@ -50,6 +47,7 @@
+
diff --git a/src/Markup/Perspex.Xaml.Desktop/PerspexParserFactory.cs b/src/Markup/Perspex.Xaml/PerspexParserFactory.cs
similarity index 93%
rename from src/Markup/Perspex.Xaml.Desktop/PerspexParserFactory.cs
rename to src/Markup/Perspex.Xaml/PerspexParserFactory.cs
index 3253d53f85..28617ea20a 100644
--- a/src/Markup/Perspex.Xaml.Desktop/PerspexParserFactory.cs
+++ b/src/Markup/Perspex.Xaml/PerspexParserFactory.cs
@@ -1,11 +1,10 @@
namespace Perspex.Xaml.Desktop
{
- using Context;
- using HighLevel;
using OmniXaml;
using OmniXaml.ObjectAssembler;
using OmniXaml.Parsers.ProtoParser;
using OmniXaml.Parsers.XamlNodes;
+ using Perspex.Xaml.Context;
public class PerspexParserFactory : IXamlParserFactory
{
@@ -13,7 +12,7 @@ namespace Perspex.Xaml.Desktop
public PerspexParserFactory(ITypeFactory typeFactory)
{
- wiringContext = PerspexWiringContextFactory.GetContext(typeFactory);
+ wiringContext = new PerspexWiringContext(typeFactory);
}
public IXamlParser CreateForReadingFree()