Browse Source

Templatehelper should Clone the Node and don't modify the original one

pull/604/head
jogibear9988 11 years ago
parent
commit
54eedf4410
  1. 17
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/TemplateHelper.cs

17
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/TemplateHelper.cs

@ -50,20 +50,17 @@ namespace ICSharpCode.WpfDesign.XamlDom @@ -50,20 +50,17 @@ namespace ICSharpCode.WpfDesign.XamlDom
if (!nav.MoveToParent())
break;
}
xmlElement = (XmlElement)xmlElement.CloneNode(true);
foreach (var dictentry in ns.ToList())
{
if (xmlElement.HasAttribute("xmlns:" + dictentry.Key))
ns.Remove(dictentry.Key);
else
xmlElement.SetAttribute("xmlns:" + dictentry.Key, dictentry.Value);
xmlElement.SetAttribute("xmlns:" + dictentry.Key, dictentry.Value);
}
var keyAttrib = xmlElement.GetAttribute("Key", XamlConstants.XamlNamespace);
bool keySet = false;
if (string.IsNullOrEmpty(keyAttrib)) {
keySet = true;
xmlElement.SetAttribute("Key", XamlConstants.XamlNamespace, "$$temp&&§§%%__");
}
@ -117,14 +114,6 @@ namespace ICSharpCode.WpfDesign.XamlDom @@ -117,14 +114,6 @@ namespace ICSharpCode.WpfDesign.XamlDom
var result = (ResourceDictionary)writer.Result;
if (keySet)
xmlElement.RemoveAttribute("Key", XamlConstants.XamlNamespace);
foreach (var dictentry in ns)
{
xmlElement.RemoveAttribute("xmlns:" + dictentry.Key);
}
var enr = result.Keys.GetEnumerator();
enr.MoveNext();
var rdKey = enr.Current;

Loading…
Cancel
Save