From 54eedf44106688ce57d17d2f7412b92b03d6ae33 Mon Sep 17 00:00:00 2001 From: jogibear9988 <jochen.kuehner@gmx.de> Date: Sun, 23 Nov 2014 11:55:53 +0100 Subject: [PATCH] Templatehelper should Clone the Node and don't modify the original one --- .../WpfDesign.XamlDom/Project/TemplateHelper.cs | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/TemplateHelper.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/TemplateHelper.cs index 8c105ace8d..6624bb4ec1 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/TemplateHelper.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/TemplateHelper.cs @@ -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 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;