internal static void RecordLookupResult(object key, ResourceDictionary rd) { if (ResourceDictionaryDiagnostics.IsEnabled && ResourceDictionaryDiagnostics._lookupResultStack != null) { ResourceDictionaryDiagnostics.RecordLookupResultImpl(key, rd); } }
internal static void RemoveResourceDictionaryForUri(Uri uri, ResourceDictionary rd) { if (uri != null && ResourceDictionaryDiagnostics.IsEnabled) { ResourceDictionaryDiagnostics.RemoveResourceDictionaryForUriImpl(uri, rd); } }
// Token: 0x060017B3 RID: 6067 RVA: 0x00073B30 File Offset: 0x00071D30 internal static void OnStaticResourceResolved(object targetObject, object targetProperty, ResourceDictionaryDiagnostics.LookupResult result) { EventHandler <StaticResourceResolvedEventArgs> staticResourceResolved = ResourceDictionaryDiagnostics.StaticResourceResolved; if (staticResourceResolved != null && result.Dictionary != null) { staticResourceResolved(null, new StaticResourceResolvedEventArgs(targetObject, targetProperty, result.Dictionary, result.Key)); } ResourceDictionaryDiagnostics.RequestCacheCleanup(targetObject); }
/// <summary>Finds the resource dictionaries created from a given source URI. </summary> /// <param name="uri">The source URI. The method return <see langword="null" /> if no resource dictionaries were created from <paramref name="uri" /> </param> /// <returns>The resource dictionaries created from <paramref name="uri" />. The method returns <see langword="null" /> if Visual Diagnostics is not enabled, the <see langword="ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO" /> environment variable is not set or is set to <see langword="false" />, or no resource dictionaries were created from <paramref name="uri" />. /// </returns> // Token: 0x060017A1 RID: 6049 RVA: 0x000735EC File Offset: 0x000717EC public static IEnumerable <ResourceDictionary> GetResourceDictionariesForSource(Uri uri) { if (!ResourceDictionaryDiagnostics.IsEnabled || ResourceDictionaryDiagnostics._dictionariesFromUri == null) { return(ResourceDictionaryDiagnostics.EmptyResourceDictionaries); } object dictionariesFromUriLock = ResourceDictionaryDiagnostics._dictionariesFromUriLock; IEnumerable <ResourceDictionary> result; lock (dictionariesFromUriLock) { List <WeakReference <ResourceDictionary> > list; if (!ResourceDictionaryDiagnostics._dictionariesFromUri.TryGetValue(uri, out list) || list.Count == 0) { result = ResourceDictionaryDiagnostics.EmptyResourceDictionaries; } else { List <ResourceDictionary> list2 = new List <ResourceDictionary>(list.Count); List <WeakReference <ResourceDictionary> > list3 = null; foreach (WeakReference <ResourceDictionary> weakReference in list) { ResourceDictionary item; if (weakReference.TryGetTarget(out item)) { list2.Add(item); } else { if (list3 == null) { list3 = new List <WeakReference <ResourceDictionary> >(); } list3.Add(weakReference); } } if (list3 != null) { ResourceDictionaryDiagnostics.RemoveEntries(uri, list, list3); } result = list2.AsReadOnly(); } } return(result); }
// Token: 0x060017A5 RID: 6053 RVA: 0x00073794 File Offset: 0x00071994 private static void RemoveResourceDictionaryForUriImpl(Uri uri, ResourceDictionary rd) { object dictionariesFromUriLock = ResourceDictionaryDiagnostics._dictionariesFromUriLock; lock (dictionariesFromUriLock) { List <WeakReference <ResourceDictionary> > list; if (ResourceDictionaryDiagnostics._dictionariesFromUri != null && ResourceDictionaryDiagnostics._dictionariesFromUri.TryGetValue(uri, out list)) { List <WeakReference <ResourceDictionary> > list2 = new List <WeakReference <ResourceDictionary> >(); foreach (WeakReference <ResourceDictionary> weakReference in list) { ResourceDictionary resourceDictionary; if (!weakReference.TryGetTarget(out resourceDictionary) || resourceDictionary == rd) { list2.Add(weakReference); } } ResourceDictionaryDiagnostics.RemoveEntries(uri, list, list2); } } }
/// <summary>Gets the application owners of a specified resource dictionary. </summary> /// <param name="dictionary">A resource dictionary. </param> /// <returns>The application owners of <paramref name="dictionary" />. If there are no application owners, the method returns <see langword="null" />. </returns> // Token: 0x060017A9 RID: 6057 RVA: 0x000738CC File Offset: 0x00071ACC public static IEnumerable <Application> GetApplicationOwners(ResourceDictionary dictionary) { return(ResourceDictionaryDiagnostics.GetOwners <Application>(dictionary.ApplicationOwners, ResourceDictionaryDiagnostics.EmptyApplicationList)); }
/// <summary>Gets the framework content owners of a specified resource dictionary. </summary> /// <param name="dictionary">A resource dictionary. </param> /// <returns>The framework content owners of <paramref name="dictionary" />. If there are no framework content owners, the method returns <see langword="null" />. </returns> // Token: 0x060017A8 RID: 6056 RVA: 0x000738BA File Offset: 0x00071ABA public static IEnumerable <FrameworkContentElement> GetFrameworkContentElementOwners(ResourceDictionary dictionary) { return(ResourceDictionaryDiagnostics.GetOwners <FrameworkContentElement>(dictionary.FrameworkContentElementOwners, ResourceDictionaryDiagnostics.EmptyFrameworkContentElementList)); }