private string FormatJObjectAsMarkupExt (JObject jobj)
{
/*string xmlName = GetTypeByName(typeName).FullName.StartsWith(XamlLanguage.SWMNamespace)
? string.Format("{0}:{1}", NsXPrefix, jobj.Name.LocalName) : jobj.Name.LocalName;*/
var typeName = (string)jobj[pnDollar];
if (typeName.EndsWith(KnownStrings.Extension))
typeName = typeName.Substring(0, typeName.Length - KnownStrings.Extension.Length);
return jobj.HasValues
? string.Format("{{{0} {1}}}", typeName,
string.Join(", ", jobj.Properties().Where(p => p.Name != pnDollar).Select(a =>
string.Format(CultureInfo.InvariantCulture, "{0}={1}", a.Name, a.Value))))
: string.Format("{{{0}}}", typeName);
}