Повторное использование компонента карточки
Компонент карточки может сообщить Windows-клиенту о поддержке им механизма повторного использования (кэширования), при активации которого компонент карточки не выгружается из памяти при закрытии карточки, а кэшируется в специальном хранилище и используется повторно, при обращении к карточкам данного типа.
-
Для карточек, унаследованных от типа
CardControl, нужно реализовать в классе компонента карточки интерфейсIReusableCardComponent:public sealed partial class TestCard : CardControl, IReusableCardComponent { public bool CanBeReused { get { return true; } (1) } public ReusageMode Mode { get { return ReusageMode.OwnLogic; } (2) } }1 Определяем необходимость повторного использования компонента: true— используется,false— не используется.2 Указываем режим повторного использования. -
Для карточек, унаследованных от типа
BaseCardControl, нужно переопределить методыGetCanBeReusedиGetReusageMode:public sealed partial class TestCard : BaseCardControl { protected override bool GetCanBeReused() (1) { return true; } protected override ReusageMode GetReusageMode() (2) { return ReusageMode.OwnLogic; } }1 Определятся необходимость повторного использования компонента. 2 Определяется собственный режим повторного использования. В режиме
ReusageMode.OwnLogicнеобходимость повторного использования определяется по значению переменнойCanBeReused. В режимеReusageMode.NoReusageкомпонент карточки кэшироваться не будет. В режимеReusageMode.CardHostLogicнеобходимость кэширования компонента определяется внутренней логикой контейнера карточек.