diff options
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/SetPropertiesVisitor.cs')
-rw-r--r-- | Xamarin.Forms.Build.Tasks/SetPropertiesVisitor.cs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Xamarin.Forms.Build.Tasks/SetPropertiesVisitor.cs b/Xamarin.Forms.Build.Tasks/SetPropertiesVisitor.cs index 734a34c2..f481cbee 100644 --- a/Xamarin.Forms.Build.Tasks/SetPropertiesVisitor.cs +++ b/Xamarin.Forms.Build.Tasks/SetPropertiesVisitor.cs @@ -60,6 +60,8 @@ namespace Xamarin.Forms.Build.Tasks if (skips.Contains(propertyName)) return; + if (parentNode is IElementNode && ((IElementNode)parentNode).SkipProperties.Contains (propertyName)) + return; if (propertyName.NamespaceURI == "http://schemas.openxmlformats.org/markup-compatibility/2006" && propertyName.LocalName == "Ignorable") return; @@ -105,6 +107,11 @@ namespace Xamarin.Forms.Build.Tasks if (propertyName != XmlName.Empty) { + if (skips.Contains(propertyName)) + return; + if (parentNode is IElementNode && ((IElementNode)parentNode).SkipProperties.Contains (propertyName)) + return; + if (propertyName == XmlName._CreateContent) SetDataTemplate((IElementNode)parentNode, node, Context, node); else @@ -136,6 +143,8 @@ namespace Xamarin.Forms.Build.Tasks var name = new XmlName(node.NamespaceURI, contentProperty); if (skips.Contains(name)) return; + if (parentNode is IElementNode && ((IElementNode)parentNode).SkipProperties.Contains (propertyName)) + return; Context.IL.Append(SetPropertyValue(Context.Variables[(IElementNode)parentNode], name, node, Context, node)); } } @@ -151,7 +160,8 @@ namespace Xamarin.Forms.Build.Tasks if (skips.Contains(parentList.XmlName)) return; - + if (parentNode is IElementNode && ((IElementNode)parentNode).SkipProperties.Contains (propertyName)) + return; var elementType = parent.VariableType; var localname = parentList.XmlName.LocalName; @@ -775,4 +785,4 @@ namespace Xamarin.Forms.Build.Tasks return vardefref.VariableDefinition; } } -}
\ No newline at end of file +} |