• 大小: 125KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: C#
  • 标签: Html  Xaml  

资源简介

此代码是为实现html与xaml进行转换设计的!

资源截图

代码片段和文件信息

//---------------------------------------------------------------------------
// 
// File: HtmlXamlConverter.cs
//
// Copyright (C) Microsoft Corporation.  All rights reserved.
//
// Description: Prototype for Html - Xaml conversion 
//
//---------------------------------------------------------------------------

namespace HTMLConverter
{
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.IO;
    using System.Text;
    using System.Windows; // DependencyProperty
    using System.Windows.Documents; // TextElement
    using System.xml;
    using System.xml.Linq;
    /// 
    /// HtmlToXamlConverter is a static class that takes an HTML string
    /// and converts it into XAML
    /// 

    public static class HtmlToXamlConverter
    {
        // ---------------------------------------------------------------------
        //
        // Internal Methods
        //
        // ---------------------------------------------------------------------

        #region Internal Methods

        /// 
        /// Converts an html string into xaml string.
        /// 

        /// 
        /// Input html which may be badly formated xml.
        /// 
        /// 
        /// true indicates that we need a FlowDocument as a root element;
        /// false means that Section or Span elements will be used
        /// dependeing on StartFragment/EndFragment comments locations.
        /// 
        /// 
        /// Well-formed xml representing XAML equivalent for the input html string.
        /// 

        public static xmlElement ConvertHtmlToXaml(string htmlString bool asFlowDocument)
        {
            // Create well-formed xml from Html string
            xmlElement htmlElement = HtmlParser.ParseHtml(htmlString);
            
            return htmlElement;












            // Decide what name to use as a root
            string rootElementName = asFlowDocument ? HtmlToXamlConverter.Xaml_FlowDocument : HtmlToXamlConverter.Xaml_Section;

            // Create an xmlDocument for generated xaml
            xmlDocument xamlTree = new xmlDocument();
            xmlElement xamlFlowDocumentElement = xamlTree.CreateElement(null rootElementName _xamlNamespace);

            // Extract style definitions from all style elements in the document
            Cssstylesheet stylesheet = new Cssstylesheet(htmlElement);

            // Source context is a stack of all elements - ancestors of a parentElement
            ListlElement> sourceContext = new ListlElement>(10);

            // Clear fragment parent
            InlineFragmentParentElement = null;

            // convert root html element
            AddBlock(xamlFlowDocumentElement htmlElement new Hashtable() style

评论

共有 条评论