Как установить режим кэширования для элемента программно?
-
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 - это немного странно;)