Как установить CacheMode для элемента программно? - PullRequest
10 голосов
/ 21 октября 2009

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.

1 Ответ

12 голосов
/ 21 октября 2009

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

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

image.CacheMode = new BitmapCache();

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

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

...