void _UpdatePageNameMethod(object sender, OpenPageInfoEventArgs e) { if (null != UpdatePageName) { UpdatePageName(sender, e); } }
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 _OpenPageInfoMethod(object sender, OpenPageInfoEventArgs e) { if (null != OpenPageInfo) { OpenPageInfo(sender, e); } }
/// <summary> /// 打开一个新的设计页面 /// </summary> /// <param name="e"></param> internal void OpenPageInfo(OpenPageInfoEventArgs e) { //-->判断当前页面是否已经打开,如果打开了,就设置为选中状态,否则就打开一个新的。 bool isOpen = JudgePageIsOpen(e); if (!isOpen) { TabItem ti = new TabItem(); TabItemHeader header = new TabItemHeader(); PageWorkArea pwa = new PageWorkArea(); pwa.ControlPosition += pwa_ControlPosition; pwa.ContentUpdate += pwa_ContentUpdate; pwa.ControlTimesUpdate += pwa_ControlTimesUpdate; pwa.ParentControl = ti; ti.Header = header; ti.Content = pwa; this.tcCollection.Items.Add(ti); header.OnCloseTabItem += header_Delete; header.MouseLeftButtonUp += header_MouseLeftButtonUp; header.Tag = ti; header.Header = e.PageDirectorySub.PageName; ti.Tag = e.PageDirectorySub; ti.Name = string.Format("TabItem_{0}", e.PageDirectorySub.ID); ti.IsSelected = true; pwa.OpenPageInfo(e, IDesignFramework); } }
/// <summary> /// 判断页面是否打开 /// </summary> /// <param name="e"></param> /// <returns></returns> bool JudgePageIsOpen(OpenPageInfoEventArgs e) { bool isOpen = false; foreach (var v in this.tcCollection.Items) { TabItem ti = v as TabItem; if (null == ti) { continue; } PageDirectorySub pds = ti.Tag as PageDirectorySub; if (null == pds) { continue; } if (pds.ID.Equals(e.PageDirectorySub.ID)) { ti.IsSelected = true; isOpen = true; break; } } return(isOpen); }
void pft_OpenPageInfo(object sender, OpenPageInfoEventArgs e) { if (null == e) { return; } _PageGuid = e.PageDirectorySub.PageGuid; }
/// <summary> /// /// </summary> /// <param name="cmd"></param> public void ProcessSavePageDirectorySub(CtrlPlatformCommandInfo cmd) { if (cmd.ExecuteNonQueryResult.ConvertTo <int>() > 0) { OpenPageInfoEventArgs e = new OpenPageInfoEventArgs(); List <PageDirectorySub> item = Wrapper.ConvertToList <PageDirectorySub>(cmd.ExecSql[0].Result);//, "PageDirectorySub"); e.PageDirectorySub = item[0]; //--------->通知打开页面操作。 _OpenPageInfoMethod(this, e); } else { MessageBox.Show(cmd.ErrorMessage); } }
/// <summary> /// /// </summary> /// <param name="cmd"></param> public void ProcessAddPage(CtrlPlatformCommandInfo cmd) { //-->判断是否有成功 if (!cmd.ExecuteNonQueryResult.IsNullOrEmpty()) { Wrapper.ShowDialog("失败:" + cmd.ErrorMessage); return; } string controlName = cmd.TempValue.GetAttributeValue("ControlName"); TreeViewItem item = tvPageManager.FindName(controlName) as TreeViewItem; if (null == item) { return; } //-->成功 PageDirectorySub pds = Wrapper.ConvertToModel <PageDirectorySub>(cmd.ExecSql[1].Result); if (null == pds) { return; } TreeViewItem tvi = new TreeViewItem(); tvi.Name = string.Format("tvi_{0}_{1}", pds.PageDirectoryId, pds.ID); tvi.Header = pds.PageName; if (!pds.PageContent.IsNullOrEmpty()) { string[] strBuffer = pds.PageContent.Split(' '); int count = strBuffer.Length; byte[] buffer = new byte[count]; for (int i = 0; i < count; i++) { buffer[i] = byte.Parse(strBuffer[i]); } string content = Encoding.UTF8.GetString(buffer, 0, count); pds.PageContent = content; } tvi.Tag = pds; tvi.Expanded += tvi_Expanded; tvi.Collapsed += tvi_Expanded; item.Items.Add(tvi); var e = new OpenPageInfoEventArgs(); e.PageDirectorySub = pds; _OpenPageInfoMethod(this, e); }
/// <summary> /// 打开页面 /// </summary> /// <param name="iPage"></param> /// <param name="e"></param> internal void OpenPageInfo(OpenPageInfoEventArgs e, IPageDesignFramework iPage) { _IsOpenPage = true; this._IDesignFramework = iPage; this.PageInfo = e.PageDirectorySub; this.DesignPage.SetDesigntimeInterface(iPage); //-->判断 this.PageInfo.PageContent 是否为空。 //-->如果不为空说就把里面的信息分开,然后分别放到 txtXaml,txtXml控件里去 this.txtXaml.Text = string.Empty; this.txtXml.Text = string.Empty; if (this.PageInfo.PageContent.IsNullOrEmpty()) { this.IsUpdate = true; //-->说明刚创建的一个新的页面。 CreateNewPageInfo(e); 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() : ""; //-->xml操作 DecodeXml(xml); //-->获取xaml Xaml_LostFocus("", xaml); DesignPage.Height = _XmlTemplate.BaseInfo.PageHeight; DesignPage.Width = _XmlTemplate.BaseInfo.PageWidth; UpdateControlTree(); _IsOpenPage = false; this.IsUpdate = false; }
void tvi_Expanded(object sender, RoutedEventArgs e) { TreeViewItem item = sender as TreeViewItem; if (item.Tag is PageDirectory) { PageDirectory pd = item.Tag as PageDirectory; if (!pd.IsSendCommand) { //-->发送命令获取下面所有目录及文件 //-->获取目录的查询语句; //-->获取文件的查询语句 InitCurrentNodeDirectory(pd.ID, item.Name); } } else if (item.Tag is PageDirectorySub) { //-->打开文件 OpenPageInfoEventArgs oe = new OpenPageInfoEventArgs(); oe.PageDirectorySub = item.Tag as PageDirectorySub; _OpenPageInfoMethod(this, oe); } }
/// <summary> /// 更新Tab标签信息 /// </summary> /// <param name="e"></param> internal void UpdateTabItemHeader(OpenPageInfoEventArgs e) { foreach (var v in this.tcCollection.Items) { TabItem ti = v as TabItem; if (null == ti) { continue; } PageWorkArea pwa = ti.Content as PageWorkArea; if (null == pwa) { continue; } if (pwa.PageInfo.PageGuid.Equals(e.PageDirectorySub.PageGuid)) { pwa.PageInfo.PageName = e.PageDirectorySub.PageName; TabItemHeader header = ti.Header as TabItemHeader; header.Header = e.PageDirectorySub.PageName; pwa.UpdateXmlPageNameValue(pwa.PageInfo.PageName); } } }
/// <summary> /// 创建一个新的页面 /// </summary> /// <param name="e"></param> void CreateNewPageInfo(OpenPageInfoEventArgs e) { this.Xaml_Template = _XamlTemplate.ParseXml().ToString(); BuilderXml(e.PageDirectorySub); }
void pft_OpenPageInfo(object sender, OpenPageInfoEventArgs e) { pwag.OpenPageInfo(e);//, this); }
void pft_UpdatePageName(object sender, OpenPageInfoEventArgs e) { pwag.UpdateTabItemHeader(e); }
void pftm_OpenPageInfo(object sender, OpenPageInfoEventArgs e) { _XmlTemplate_CurrentPage = this.pftm.SelectedPageInfo; _CurrentPageControl = this.pftm.PageControl; }