Browse Source

Merge pull request #80 from gumme/WpfDesignerStringResourceFix

(WPF Designer) String can now be added to collections
pull/315/head
Siegfried Pammer 12 years ago
parent
commit
aaabda38ae
  1. 27
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Tests/Designer/ModelTests.cs
  2. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlDocument.cs

27
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Tests/Designer/ModelTests.cs

@ -398,6 +398,33 @@ namespace ICSharpCode.WpfDesign.Tests.Designer @@ -398,6 +398,33 @@ namespace ICSharpCode.WpfDesign.Tests.Designer
AssertCanvasDesignerOutput(expectedXaml, checkBox.Context);
AssertLog("");
}
[Test]
public void AddStringAsResource()
{
DesignItem textBlock = CreateCanvasContext("<TextBlock/>");
DesignItem canvas = textBlock.Parent;
DesignItemProperty canvasResources = canvas.Properties.GetProperty("Resources");
DesignItem str = canvas.Services.Component.RegisterComponentForDesigner("stringresource 1");
str.Key = "str1";
Assert.IsTrue(canvasResources.IsCollection);
canvasResources.CollectionElements.Add(str);
textBlock.Properties[TextBlock.TextProperty].SetValue(new StaticResourceExtension());
DesignItemProperty prop = textBlock.Properties[TextBlock.TextProperty];
prop.Value.Properties["ResourceKey"].SetValue("str1");
string expectedXaml = "<Canvas.Resources>\n" +
" <Controls0:String x:Key=\"str1\">stringresource 1</Controls0:String>\n" +
"</Canvas.Resources>\n" +
"<TextBlock Text=\"{StaticResource ResourceKey=str1}\" />";
AssertCanvasDesignerOutput(expectedXaml, textBlock.Context, "xmlns:Controls0=\"clr-namespace:System;assembly=mscorlib\"");
AssertLog("");
}
}
public class MyMultiConverter : IMultiValueConverter

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlDocument.cs

@ -199,6 +199,8 @@ namespace ICSharpCode.WpfDesign.XamlDom @@ -199,6 +199,8 @@ namespace ICSharpCode.WpfDesign.XamlDom
}
}
}
} else if (instance is string) {
xml.InnerText = (string)instance;
}
return new XamlObject(this, xml, elementType, instance);

Loading…
Cancel
Save