diff --git a/.gitmodules b/.gitmodules
index 773b291467..8d13c6572c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,4 +10,7 @@
url = https://github.com/AvaloniaUI/OmniXAML.git
[submodule "src/Markup/Avalonia.Markup.Xaml/glass"]
path = src/Markup/Avalonia.Markup.Xaml/glass
- url = https://github.com/SuperJMN/glass
\ No newline at end of file
+ url = https://github.com/SuperJMN/glass
+[submodule "src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github"]
+ path = src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github
+ url = https://github.com/cwensley/Portable.Xaml.git
diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
index 2637cbc068..46dbe1566c 100644
--- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
+++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
@@ -10,7 +10,7 @@
full
false
bin\Debug\
- TRACE;DEBUG
+ TRACE;DEBUG;NETSTANDARD1_3;PCL;NETSTANDARD
prompt
4
CS1591
@@ -19,7 +19,7 @@
pdbonly
true
bin\Release\
- TRACE
+ NETSTANDARD1_3;PCL;NETSTANDARD
prompt
4
bin\Release\Avalonia.Markup.Xaml.XML
@@ -293,6 +293,7 @@
+
@@ -304,7 +305,9 @@
-
+
+
+
diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs
index 40bff5ed0b..f10de1a32f 100644
--- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs
+++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs
@@ -54,7 +54,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
base.Dispose(disposing);
}
- protected override void OnAfterBeginInit(object value)
+ protected internal override void OnAfterBeginInit(object value)
{
//not called for avalonia objects
//as it's called inly for
@@ -62,7 +62,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
base.OnAfterBeginInit(value);
}
- protected override void OnAfterEndInit(object value)
+ protected internal override void OnAfterEndInit(object value)
{
//not called for avalonia objects
//as it's called inly for
@@ -70,7 +70,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
base.OnAfterEndInit(value);
}
- protected override void OnAfterProperties(object value)
+ protected internal override void OnAfterProperties(object value)
{
_delayedValuesHelper.EndInit(value);
@@ -82,7 +82,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
HandleEndEdit(value);
}
- protected override void OnBeforeProperties(object value)
+ protected internal override void OnBeforeProperties(object value)
{
//OnAfterBeginInit is not called as it supports only
//Portable.Xaml.ComponentModel.ISupportInitialize
@@ -94,7 +94,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
base.OnBeforeProperties(value);
}
- protected override bool OnSetValue(object target, XamlMember member, object value)
+ protected internal override bool OnSetValue(object target, XamlMember member, object value)
{
if (_delayedValuesHelper.TryAdd(target, member, value))
{
diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs
index ee20be0efa..bdb21abd77 100644
--- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs
+++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs
@@ -32,7 +32,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
private IRuntimeTypeProvider _avaloniaTypeProvider;
- protected override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments)
+ protected internal override XamlType GetXamlType(string xamlNamespace, string name, params XamlType[] typeArguments)
{
XamlType type = null;
try
@@ -142,10 +142,10 @@ namespace Avalonia.Markup.Xaml.PortableXaml
#endregion Workaround for bug in Portablexaml system types like double,int etc ...
- protected override ICustomAttributeProvider GetCustomAttributeProvider(Type type)
+ protected internal override ICustomAttributeProvider GetCustomAttributeProvider(Type type)
=> new AvaloniaTypeAttributeProvider(type);
- protected override ICustomAttributeProvider GetCustomAttributeProvider(MemberInfo member)
+ protected internal override ICustomAttributeProvider GetCustomAttributeProvider(MemberInfo member)
=> new AvaloniaMemberAttributeProvider(member);
public override XamlType GetXamlType(Type type)
@@ -187,7 +187,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
return null;
}
- protected override XamlMember GetAttachableProperty(string attachablePropertyName, MethodInfo getter, MethodInfo setter)
+ protected internal override XamlMember GetAttachableProperty(string attachablePropertyName, MethodInfo getter, MethodInfo setter)
{
var key = MemberKey.Create(getter ?? setter, attachablePropertyName, "a");
@@ -218,7 +218,7 @@ namespace Avalonia.Markup.Xaml.PortableXaml
return _cachedMembers[key] = result;
}
- protected override XamlMember GetProperty(PropertyInfo pi)
+ protected internal override XamlMember GetProperty(PropertyInfo pi)
{
Type objType = pi.DeclaringType;
string name = pi.Name;
diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github
new file mode 160000
index 0000000000..d50730ab59
--- /dev/null
+++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/portable.xaml.github
@@ -0,0 +1 @@
+Subproject commit d50730ab59aed99cd2f8aeb4975fcc19d23bb54f