Example #1
0
        void pft_OpenPageInfo(object sender, OpenPageInfoEventArgs e)
        {
            //-->获取控件
            XElement _xe_page = XElement.Parse(e.PageDirectorySub.PageContent.Trim());

            if (null == _xe_page)
            {
                return;
            }
            XElement _xe_xaml = _xe_page.Element("xaml");
            XElement _xe_xml  = _xe_page.Element("xml");

            string xaml = _xe_xaml != null && _xe_xaml.FirstNode != null?_xe_xaml.FirstNode.ToString() : "";

            string xml = _xe_xml != null && _xe_xml.FirstNode != null?_xe_xml.FirstNode.ToString() : "";

            //-->xml操作
            _XmlTemplate_CurrentPage = XmlTemplate.DecodeXml(xml);
            //-->获取xaml
            _XamlTemplate = XamlTemplate.DecodeXml(xaml);
            _PageInfo     = Wrapper.CreateUIElement <UserControl>(xaml);
            LoadControls();

            if (null != OpenPageInfo)
            {
                OpenPageInfo(this, e);
            }
        }
Example #2
0
        void txtXml_LostFocus(object sender, RoutedEventArgs e)
        {
            try
            {
                string _xml = this.txtXml.Text.Trim();
                if (Xml_Template.Equals(_xml))
                {
                    return;
                }
                var    xml    = XmlTemplate.DecodeXml(this.txtXml.Text.Trim());
                double width  = xml.BaseInfo.PageWidth;
                double height = xml.BaseInfo.PageHeight;
                //-->xml里的宽与高
                this.DesignPage.Width  = width;
                this.DesignPage.Height = height;

                _XmlTemplate = xml;
                Xml_Template = _xml;

                //-->xaml里面的高与宽
                this._XamlTemplate.Height = height;
                this._XamlTemplate.Width  = width;
                Xaml_Template             = _XamlTemplate.ParseXml().ToString();
            }
            catch
            {
                double width  = _XmlTemplate.BaseInfo.PageWidth;
                double height = _XmlTemplate.BaseInfo.PageHeight;
                this.DesignPage.Width  = width;
                this.DesignPage.Height = height;
            }
        }
Example #3
0
 void DecodeXml(string xml)
 {
     if (xml.IsNullOrEmpty())
     {
         BuilderXml(this.PageInfo);
         return;
     }
     _XmlTemplate      = XmlTemplate.DecodeXml(xml);
     this.Xml_Template = xml;
 }
Example #4
0
        /// <summary>
        /// 重绘
        /// </summary>
        internal void Redraw()
        {
            if (null == PageInfo || this.PageInfo.PageContent.IsNullOrEmpty())
            {
                return;
            }
            XElement _xe_page = XElement.Parse(this.PageInfo.PageContent.Trim());

            if (null == _xe_page)
            {
                return;
            }
            XElement _xe_xaml = _xe_page.Element("xaml");
            XElement _xe_xml  = _xe_page.Element("xml");

            string xaml = _xe_xaml != null && _xe_xaml.FirstNode != null?_xe_xaml.FirstNode.ToString() : "";  // _xe_xaml.GetElementValue("xaml");

            string xml = _xe_xml != null && _xe_xml.FirstNode != null?_xe_xml.FirstNode.ToString() : "";

            _XmlTemplate  = XmlTemplate.DecodeXml(xml);
            _XamlTemplate = XamlTemplate.DecodeXml(xaml);

            UserControl uc = Wrapper.CreateUIElement(xaml) as UserControl;

            if (null == uc)
            {
                return;
            }
            this.LayoutRoot.Children.Add(uc);

            //-->给复合控件设置标题内容,和运行时接口。
            SetCompositeCtrlTitleOrInterface();

            //-->给控件注册事件
            RegisterControl();

            //-->加载初化操作。
            LoadInitControl();
        }