Повторное использование компонента карточки
Компонент карточки может сообщить 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
необходимость кэширования компонента определяется внутренней логикой контейнера карточек.