Как вы устанавливаете CacheMode в элементе программно?

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

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

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

image.CacheMode = new BitmapCache();

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

И да, с абстрактным классом, называемым ~ Mode, немного странно imo;)