Expression Blend 3 is not happy
#4
As stated, not that robust - could probably be optimized a tad
I've condensed it a bit for this post

Code:
using System.IO;
using System.Linq;
using System.Xml.Linq;

namespace ConvertWpfToSL
{
    class Program
    {
        static void Main(string[] args)
        {
            var testFile = File.OpenText(args[0]);
            var oldXmlSnippet = testFile.ReadToEnd();
            var newXmlSnippet = WpfXaml.Convert(oldXmlSnippet).ToString();
        }
    }

    public class WpfXaml
    {
        const string CCanvas = "Canvas";
        const string CMatrix = "Matrix";
        const string CRenderTransform = "RenderTransform";
        const string CMatrixTransform = "MatrixTransform";
        const string CCanvasRenderTransform = CCanvas + "." + CRenderTransform;

        public static XElement Convert(string xmlSnippet)
        {
            var doc = XDocument.Parse(xmlSnippet);
            var root = doc.Elements().ElementAt(0);
            return Convert(root);
        }

        private static XElement Convert(XElement el)
        {
            var canvasElements = el.Elements(el.Name.Namespace + CCanvas);
            var attr = el.Attribute(CRenderTransform);
            if (attr != null)
            {
                var newCanvasElement = new XElement(CCanvasRenderTransform);
                var newMatrixTransform = new XElement(CMatrixTransform);
                newMatrixTransform.SetAttributeValue(CMatrix, attr.Value);
                newCanvasElement.Add(newMatrixTransform);
                el.AddFirst(newCanvasElement);
                attr.Remove();
            }
            foreach (var elem in canvasElements)
                Convert(elem);

            return el;
        }
    }
}
  


Messages In This Thread
Expression Blend 3 is not happy - by ttiggemann - 04-09-2010, 11:14 PM
RE: Expression Blend 3 is not happy - by abenedik - 04-12-2010, 07:47 AM
RE: Expression Blend 3 is not happy - by ttiggemann - 04-12-2010, 04:17 PM
RE: Expression Blend 3 is not happy - by abenedik - 04-13-2010, 01:44 PM
RE: Expression Blend 3 is not happy - by abenedik - 04-19-2010, 02:14 PM
RE: Expression Blend 3 is not happy - by abenedik - 04-23-2010, 08:39 PM

Forum Jump:


Users browsing this thread:
1 Guest(s)