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); } }
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; } }
void DecodeXml(string xml) { if (xml.IsNullOrEmpty()) { BuilderXml(this.PageInfo); return; } _XmlTemplate = XmlTemplate.DecodeXml(xml); this.Xml_Template = xml; }
/// <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(); }