public void EndBatchUpdate() { if (!IsInBatchUpdate) { throw new InvalidOperationException(); } IsInBatchUpdate = false; if (batchChanges.Count > 0) { var array = batchChanges.ToArray(); batchChanges.Clear(); FormatMappingChanged?.Invoke(this, new FormatItemsEventArgs(new ReadOnlyCollection <string>(array))); } }
void EndBatchUpdateCore() { Debug.Assert(!IsInBatchUpdate); Debug.Assert(startedEndBatchUpdateCore); Debug.Assert(batchChanges.Count != 0); startedEndBatchUpdateCore = false; if (batchChanges.Count == 0) { return; } var array = batchChanges.ToArray(); batchChanges.Clear(); FormatMappingChanged?.Invoke(this, new FormatItemsEventArgs(new ReadOnlyCollection <string>(array))); }
public void SetProperties(string key, ResourceDictionary properties) { if (key == null) { throw new ArgumentNullException(nameof(key)); } resourceDicts[key] = properties; if (IsInBatchUpdate) { batchChanges.Add(key); } else { FormatMappingChanged?.Invoke(this, new FormatItemsEventArgs(new ReadOnlyCollection <string>(new[] { key }))); } }
void UpdateAppearanceMap() { var newMap = editorFormatMapService.GetEditorFormatMap(GetAppearanceCategory()); if (categoryMap == newMap) { return; } if (categoryMap != null) { categoryMap.FormatMappingChanged -= CategoryMap_FormatMappingChanged; } categoryMap = newMap; categoryMap.FormatMappingChanged += CategoryMap_FormatMappingChanged; FormatMappingChanged?.Invoke(this, new FormatItemsEventArgs(new ReadOnlyCollection <string>(viewProps.ToArray()))); }
void CategoryMap_FormatMappingChanged(object sender, FormatItemsEventArgs e) => FormatMappingChanged?.Invoke(this, e);