Поделиться через


DataTemplate.RecycleElement(ElementFactoryRecycleArgs) Метод

Определение

Перезапускает элемент UIElement , полученный ранее с помощью GetElement.

void RecycleElement(ElementFactoryRecycleArgs const& args);
public void RecycleElement(ElementFactoryRecycleArgs args);
function recycleElement(args)
Public Sub RecycleElement (args As ElementFactoryRecycleArgs)

Параметры

Реализации

Требования к Windows

Семейство устройств
Windows 10, version 1809 (появилось в 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v7.0)

Комментарии

Метод RecycleElement используется для того, чтобы выделить элемент для последующего повторного использования, но не сбрасывает автоматически текущее состояние элемента. Например, если фонэлемента управления задан программным способом, значение сохраняется при повторном добавлении в динамическое дерево.

Переработанные элементы, возвращенные getElement , можно добавить в динамическое дерево так же, как и только что созданные элементы.

GetElement пытается получить существующий экземпляр из тех, которые были переработаны. Если ни один из них не найден, он создаст новый экземпляр с помощью LoadContent.

Перезапуск элемента может не сразу привести к его удалению из дерева динамических элементов. В этом случае события Unloaded/Loaded не создаются, если они не добавляются в другой родительский элемент в динамическом дереве.

Указывать родительский элемент не требуется при вызове RecycleElement. Однако его использование рекомендуется для обеспечения оптимизации производительности. При вызове Метода GetElement со значением Parent он будет искать элементы, которые перезапускается для этого же родительского элемента. Если они по-прежнему присоединены к родительскому элементу, их можно повторно использовать без дополнительных издержек, связанных с повторным воспитанием элемента.

Примечание

RecycleElement не исключает автоматически переработанный элемент из участия в порядке табуляции. Он также не скрывает одноранговый элемент автоматизации от отображения в дереве автоматизации. Встроенные элементы управления виртуализацией платформы управляют этим для элементов, которые они контролируют.

Если вы создаете пользовательский элемент управления виртуализацией с нуля или вызываете RecycleElement в разовых сценариях, имейте в виду, что вы несете ответственность за исключение переработанных элементов из порядка табуляции и дерева одноранговых элементов автоматизации.

Вы можете переопределить GetChildrenInTabFocusOrder и предоставить подмножество реализованных элементов, которые платформа должна использовать для фокуса tab. Аналогичным образом, одноранговый узел автоматизации для элемента управления должен переопределить его GetChildrenCore и исключить переработанные элементы.

Применяется к

См. также раздел