/// <summary> /// 更新菜单基础部件 有则更新无则增加 /// </summary> /// <param name="metadata"> View metadata</param> public void UpdateViewMetadataItem(IIViewExport metadata) { if (DictionaryViewInterfaceItems.ContainsKey(metadata.Id)) { DictionaryViewInterfaceItems[metadata.Id] = metadata; } else { if (!DictionaryViewInterfaceItems.TryAdd(metadata.Id, metadata)) { DictionaryViewInterfaceItems.TryAdd(metadata.Id, metadata); } } }
///// <summary> ///// 添加界面view ///// </summary> //private static void AddRegisteredViews() //{ // try // { // foreach (var viewEntry in RegisteredViews) // { // if (!viewEntry.Metadata.AttachNow) continue; // if ( // !RegionManage.RegionManagerInstances.Regions.ContainsRegionWithName( // viewEntry.Metadata.AttachRegion)) continue; // var region = RegionManage.RegionManagerInstances.Regions[viewEntry.Metadata.AttachRegion]; // try // { // var view = viewEntry.Value; // if (!region.Views.Contains(view)) // { // region.Add(view); // } // } // catch (Exception exception) // { // WriteLog.WriteLogError( // "AutoPopulateExportedViewsBehavior Occer An Big Error When resove view :" + // exception.ToString()); // throw; // } // } // } // catch (Exception exception) // { // WriteLog.WriteLogError( // "AutoPopulateExportedViewsBehavior Occer An Big Error When resove view :" + exception.ToString()); // } //} /// <summary> /// 删除界面View /// </summary> /// <param name="metadata"></param> /// <param name="view"></param> private void DeleteRegisteredViews(IIViewExport metadata, object view) { try { if (!RegionManage.RegionManagerInstances.Regions.ContainsRegionWithName(metadata.AttachRegion)) { return; } var region = RegionManage.RegionManagerInstances.Regions[metadata.AttachRegion]; var iv = region.Views; if (region.Views.Contains(view)) { region.Remove(view); } } catch (Exception ex) { ex.ToString(); } }
/// <summary> /// 有则更新无则增加 /// </summary> /// <param name="value">View</param> /// <param name="publishEvent">是否需要发布事件</param> /// <param name="metadata">View metadata</param> public void AddViewItem(IIViewExport metadata, object value, bool publishEvent) { UpdateViewMetadataItem(metadata); UpdateViewItem(metadata.Id, value, publishEvent); }