示例#1
0
 private void ValidateDeferredResourceReferences(object resourceKey)
 {
     if (this.deferredResourceReferences != null)
     {
         IEnumerator enumerator = this.deferredResourceReferences.GetEnumerator();
         while (enumerator.MoveNext())
         {
             DeferredResourceReference current = enumerator.Current as DeferredResourceReference;
             if (current == null || (resourceKey != null && !object.Equals(resourceKey, current.Key)))
             {
                 continue;
             }
             current.GetValue(BaseValueSourceInternal.Unknown);
         }
     }
 }
示例#2
0
        internal object FetchResource(object resourceKey, bool allowDeferredResourceReference, bool mustReturnDeferredResourceReference, out bool canCache)
        {
            DeferredResourceReference deferredThemeResourceReference;

            if (!allowDeferredResourceReference || !mustReturnDeferredResourceReference || !this.Contains(resourceKey))
            {
                return(this.GetValue(resourceKey, out canCache));
            }
            canCache = false;

            deferredThemeResourceReference = new DeferredResourceReference(this, resourceKey);

            if (this.deferredResourceReferences == null)
            {
                this.deferredResourceReferences = new List <WeakReference>();
            }
            this.deferredResourceReferences.Add(new WeakReference(deferredThemeResourceReference));
            return(deferredThemeResourceReference);
        }
 // Token: 0x06001E7F RID: 7807 RVA: 0x00091907 File Offset: 0x0008FB07
 internal StaticResourceHolder(object resourceKey, DeferredResourceReference prefetchedValue) : base(resourceKey)
 {
     this._prefetchedValue = prefetchedValue;
 }
示例#4
0
        internal object FetchResource(object resourceKey, bool allowDeferredResourceReference, bool mustReturnDeferredResourceReference, out bool canCache)
        {
            DeferredResourceReference deferredThemeResourceReference;
            if (!allowDeferredResourceReference || !mustReturnDeferredResourceReference || !this.Contains(resourceKey))
            {
                return this.GetValue(resourceKey, out canCache);
            }
            canCache = false;

            deferredThemeResourceReference = new DeferredResourceReference(this, resourceKey);

            if (this.deferredResourceReferences == null)
            {
                this.deferredResourceReferences = new List<WeakReference>();
            }
            this.deferredResourceReferences.Add(new WeakReference(deferredThemeResourceReference));
            return deferredThemeResourceReference;
        }
 internal void OnDeferredResourceInflated(DeferredResourceReference deferredResourceReference)
 {
     if (this.ReadInternalState(ResourceReferenceExpression.InternalState.IsListeningForInflated))
     {
         deferredResourceReference.RemoveInflatedListener(this);
         this.WriteInternalState(ResourceReferenceExpression.InternalState.IsListeningForInflated, false);
     }
     this.ListenForFreezableChanges(deferredResourceReference.Value);
 }