Как установить режим кэширования для элемента программно?

StackOverflow https://stackoverflow.com/questions/1600094

  •  05-07-2019
  •  | 
  •  

Вопрос

Silverlight 3 представил параметр CacheMode для элементов. В настоящее время единственным поддерживаемым форматом является BitmapCache . В XAML это значение может быть установлено следующим образом:

<Image CacheMode="BitmapCache" Source="MyImage.png"></Image>

Я хотел бы сделать то же самое во время выполнения, но до сих пор не получилось, ни один из следующих примеров не работает

Image image;
image.CacheMode = ?? // Could not find any enum to set it to
image.CacheMode.SetValue(CacheModeProperty, "BitmapCache"); // Does not work

Я ищу кого-то, кто предоставит код или обходной путь для динамического создания элемента (например, Image ) и установки для его CacheMode значения BitmapCache .

Это было полезно?

Решение

Я не думаю, что значение свойства CacheMode является перечислением, я думаю, что это абстрактный класс.

Так что у вас должно быть что-то вроде:

image.CacheMode = new BitmapCache();

Где-то может даже быть статический экземпляр BitmapCache (как в CacheMode).

И да, иметь абстрактный класс с именем ~ Mode - это немного странно;)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top