DataTemplate.RecycleElement(ElementFactoryRecycleArgs) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перезапускает элемент UIElement , полученный ранее с помощью GetElement.
void RecycleElement(ElementFactoryRecycleArgs const& args);
public void RecycleElement(ElementFactoryRecycleArgs args);
function recycleElement(args)
Public Sub RecycleElement (args As ElementFactoryRecycleArgs)
Параметры
Экземпляр ElementFactoryRecycleArgs.
Реализации
Комментарии
Метод RecycleElement используется для того, чтобы выделить элемент для последующего повторного использования, но не сбрасывает автоматически текущее состояние элемента. Например, если параметр Backgroundэлемента управления задан программным способом, значение сохраняется при повторном добавлении в динамическое дерево.
Переработанные элементы, возвращенные getElement , можно добавить в динамическое дерево так же, как и вновь созданные элементы.
GetElement пытается получить существующий экземпляр из тех, которые были переработаны. Если они не найдены, будет создан новый экземпляр с помощью LoadContent.
Перезапуск элемента может не сразу привести к его удалению из дерева динамических элементов. В этом случае события Unloaded/Loaded не вызываются, если они не будут добавлены в другой родительский элемент в динамическом дереве.
Указывать родительский элемент не требуется при вызове RecycleElement. Однако его рекомендуется использовать, чтобы обеспечить оптимизацию производительности. При вызове Метода GetElement со значением Parent он будет искать элементы, которые были переработаны для этого же родительского элемента. Если они по-прежнему присоединены к родительскому элементу, их можно повторно использовать без дополнительных затрат на повторное воспитание элемента.
Примечание
RecycleElement не исключает автоматически переработанный элемент из участия в последовательности табуляции. Он также не скрывает одноранговый элемент автоматизации элемента от отображения в дереве автоматизации. Встроенные элементы управления виртуализации платформы управляют этим для элементов под их управлением.
Если вы создаете пользовательский элемент управления виртуализацией с нуля или вызываете RecycleElement в разовых сценариях, имейте в виду, что вы обязаны исключить переработанные элементы из последовательности табуляции и дерева одноранговых элементов автоматизации.
Вы можете переопределить GetChildrenInTabFocusOrder и предоставить подмножество реализованных элементов, которые платформа должна использовать для фокуса tab. Аналогичным образом, одноранговый узел автоматизации для элемента управления должен переопределить его GetChildrenCore и исключить переработанные элементы.