diff --git a/.gitmodules b/.gitmodules index 24ccfc3259..93467688c1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,6 @@ path = src/Perspex.HtmlRenderer/external url = https://github.com/Perspex/HTML-Renderer.git branch = perspex-pcl +[submodule "src/Markup/Perspex.Markup.Xaml/OmniXAML"] + path = src/Markup/Perspex.Markup.Xaml/OmniXAML + url = https://github.com/SuperJMN/OmniXAML.git diff --git a/Tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj b/Tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj index d96439d1fe..b4a1355c00 100644 --- a/Tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj +++ b/Tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj @@ -43,10 +43,6 @@ 4 - - ..\..\packages\Glass.0.1.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\Glass.dll - True - ..\..\packages\Moq.4.2.1409.1722\lib\net40\Moq.dll True @@ -54,9 +50,6 @@ ..\..\packages\Octokit.0.14.0\lib\net45\Octokit.dll - - ..\..\packages\OmniXaml.0.1.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\OmniXaml.dll - ..\..\packages\Splat.1.6.1\lib\Net45\Splat.dll True diff --git a/Tests/Perspex.Markup.Xaml.UnitTests/packages.config b/Tests/Perspex.Markup.Xaml.UnitTests/packages.config index f79ea1b907..64a2d902f9 100644 --- a/Tests/Perspex.Markup.Xaml.UnitTests/packages.config +++ b/Tests/Perspex.Markup.Xaml.UnitTests/packages.config @@ -1,6 +1,5 @@  - diff --git a/samples/XamlTestApplication/XamlTestApplication.csproj b/samples/XamlTestApplication/XamlTestApplication.csproj index b4cd19a92e..ece9ca4cfe 100644 --- a/samples/XamlTestApplication/XamlTestApplication.csproj +++ b/samples/XamlTestApplication/XamlTestApplication.csproj @@ -36,14 +36,6 @@ 4 - - ..\..\packages\Glass.0.1.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\Glass.dll - True - - - ..\..\packages\OmniXaml.0.1.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\OmniXaml.dll - True - ..\..\packages\Serilog.1.5.9\lib\net45\Serilog.dll True diff --git a/samples/XamlTestApplication/packages.config b/samples/XamlTestApplication/packages.config index 601727ed56..dea436fde4 100644 --- a/samples/XamlTestApplication/packages.config +++ b/samples/XamlTestApplication/packages.config @@ -1,7 +1,5 @@  - - diff --git a/src/Markup/Perspex.Markup.Xaml/Context/PerspexObjectAssembler.cs b/src/Markup/Perspex.Markup.Xaml/Context/PerspexObjectAssembler.cs index fc44abb5b9..b51aae5969 100644 --- a/src/Markup/Perspex.Markup.Xaml/Context/PerspexObjectAssembler.cs +++ b/src/Markup/Perspex.Markup.Xaml/Context/PerspexObjectAssembler.cs @@ -17,7 +17,7 @@ namespace Perspex.Markup.Xaml.Context var mapping = new DeferredLoaderMapping(); mapping.Map(template => template.Content, new TemplateLoader()); - var assembler = new ObjectAssembler(wiringContext, new TopDownMemberValueContext(), objectAssemblerSettings); + var assembler = new ObjectAssembler(wiringContext, new TopDownValueContext(), objectAssemblerSettings); _objectAssembler = new TemplateHostingObjectAssembler(assembler, mapping); } diff --git a/src/Markup/Perspex.Markup.Xaml/Context/PerspexParserFactory.cs b/src/Markup/Perspex.Markup.Xaml/Context/PerspexParserFactory.cs index 2239c633ee..eda8435549 100644 --- a/src/Markup/Perspex.Markup.Xaml/Context/PerspexParserFactory.cs +++ b/src/Markup/Perspex.Markup.Xaml/Context/PerspexParserFactory.cs @@ -43,7 +43,7 @@ namespace Perspex.Markup.Xaml.Context private IObjectAssembler GetObjectAssemblerForUndefinedRoot() { - return new ObjectAssembler(_wiringContext, new TopDownMemberValueContext()); + return new ObjectAssembler(_wiringContext, new TopDownValueContext()); } public IXamlParser CreateForReadingSpecificInstance(object rootInstance) diff --git a/src/Markup/Perspex.Markup.Xaml/Context/PerspexXamlMemberValuePlugin.cs b/src/Markup/Perspex.Markup.Xaml/Context/PerspexXamlMemberValuePlugin.cs index d5d864dc47..423ca66e23 100644 --- a/src/Markup/Perspex.Markup.Xaml/Context/PerspexXamlMemberValuePlugin.cs +++ b/src/Markup/Perspex.Markup.Xaml/Context/PerspexXamlMemberValuePlugin.cs @@ -37,7 +37,7 @@ namespace Perspex.Markup.Xaml.Context { var setter = (Setter)instance; var targetType = setter.Property.PropertyType; - var valuePipeline = new ValuePipeline(_xamlMember.TypeRepository); + var valuePipeline = new ValuePipeline(_xamlMember.TypeRepository, null); var xamlType = _xamlMember.TypeRepository.GetXamlType(targetType); base.SetValue(instance, valuePipeline.ConvertValueIfNecessary(value, xamlType)); } diff --git a/src/Markup/Perspex.Markup.Xaml/OmniXAML b/src/Markup/Perspex.Markup.Xaml/OmniXAML new file mode 160000 index 0000000000..59318a343c --- /dev/null +++ b/src/Markup/Perspex.Markup.Xaml/OmniXAML @@ -0,0 +1 @@ +Subproject commit 59318a343cdb3e94e5ee33a05b5ffac2771e9640 diff --git a/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj b/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj index caa0487d15..e02c391c18 100644 --- a/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj +++ b/src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj @@ -54,6 +54,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -78,6 +241,7 @@ + @@ -119,14 +283,6 @@ - - ..\..\..\packages\Glass.0.1.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\Glass.dll - True - - - ..\..\..\packages\OmniXaml.0.1.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\OmniXaml.dll - True - ..\..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll True diff --git a/src/Markup/Perspex.Markup.Xaml/packages.config b/src/Markup/Perspex.Markup.Xaml/packages.config index d39acc6eb8..ae04e0fb0f 100644 --- a/src/Markup/Perspex.Markup.Xaml/packages.config +++ b/src/Markup/Perspex.Markup.Xaml/packages.config @@ -1,7 +1,5 @@  - -