void loadWindows() { //异步加载监控画面 Helper.Remote.Invoke <SunRizServer.ControlWindow[]>("GetWindows", (ret, err) => { if (err != null) { MessageBox.Show(MainWindow.Instance, err); } else { //加载子节点 foreach (var window in ret) { SunRizServer.ControlWindow curWin = window; foreach (Documents.DocTabItem item in MainWindow.Instance.documentContainer.Items) { if (item.Content is Documents.ControlWindowDocument) { var doc = item.Content as Documents.ControlWindowDocument; if (doc._dataModel.id == curWin.id) { //采用现有打开窗口的_dataModel curWin = doc._dataModel; break; } } } var newNode = new ControlWindowNode(curWin); this.Nodes.Add(newNode); } } }, _controlUnitId, _folderId); }
void setStatup() { Helper.Remote.Invoke <int>("SetStartupWindow", (ret, err) => { if (err != null) { MessageBox.Show(MainWindow.Instance, err); } else { if (StartupWindow != null) { StartupWindow.IsStartup = false; } DataModel.IsStartup = true; StartupWindow = DataModel; } }, DataModel.id); }
public ControlWindowNode(SunRizServer.ControlWindow dataModel) { DataModel = dataModel; if (dataModel.IsStartup == true) { //记录启动画面 StartupWindow = dataModel; } DataModel.PropertyChanged += _dataModel_PropertyChanged; this.Text = DataModel.Name + " " + DataModel.Code; this.FontWeight = (DataModel.IsStartup == true) ? FontWeights.Bold : FontWeights.Normal; this.Icon = "/images/solution/window.png"; this.DoublicClickHandler = (s, e) => { open(); }; this.ContextMenuItems.Add(new ContextMenuItem() { Text = "打开", ClickHandler = (s, e) => open(), }); this.ContextMenuItems.Add(new ContextMenuItem() { Text = "脚本编辑", ClickHandler = (s, e) => openCode(), }); this.ContextMenuItems.Add(new ContextMenuItem() { Text = "设为启动画面", ClickHandler = (s, e) => setStatup(), }); this.ContextMenuItems.Add(new ContextMenuItem() { Text = "删除", ClickHandler = delClick, }); }