Exemple #1
0
        private async static void ActualImageSourceChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            DelayLoadImage instance = o as DelayLoadImage;

            if (instance == null)
            {
                return;
            }
            instance.imageLoaded = false;

            var newCacheUri = e.NewValue;

            if (newCacheUri == null)
            {
                return;
            }

            var cacheUri =
                await WebDataCache.GetLocalUriAsync(new Uri(newCacheUri.ToString(), UriKind.RelativeOrAbsolute));

            instance._image.UriSource = cacheUri;
            VisualStateManager.GoToState(instance, STATE_DEFAULT_NAME, false);


            //这里引入Q42的缓存
        }
Exemple #2
0
        //private static ImageSourceConverter converter = new ImageSourceConverter();

        private static void DefaultImageSourceChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            DelayLoadImage instance = o as DelayLoadImage;

            if (instance?.defaultImage != null)
            {
                instance.defaultImage.Source = (ImageSource)e.NewValue;
            }
        }
Exemple #3
0
        private static void StretchChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            DelayLoadImage instance = o as DelayLoadImage;

            if (instance != null)
            {
                if (instance.defaultImage != null)
                {
                    instance.defaultImage.Stretch = (Stretch)e.NewValue;
                }
                if (instance.actualImage != null)
                {
                    instance.actualImage.Stretch = (Stretch)e.NewValue;
                }
            }
        }