Информация
Запрошенная вами тема показана ниже. Однако эта тема не включена в библиотеку.

Сокращение времени запуска приложений с элементами управления GridView и ListView (XAML)

Applies to Windows and Windows Phone

Для создания каждого элемента в элементе управления GridView или ListView среда выполнения Windows использует машинное время и память. Каждый элемент может состоять из нескольких элементов, показывающих свое состояние, включая элементы для таких действий, как выделение, наведение указателя и фокусировка на элементе. В Windows 8 все эти элементы создаются заранее, даже если используется лишь небольшая часть из них. Это повышает время запуска. В Windows 8.1 время запуска улучшено за счет введения классов GridViewItemPresenter и ListViewItemPresenter, а также метода GoToElementStateCore.

GridViewItemPresenter и ListViewItemPresenter

Класс GridViewItemPresenter (для элемента управления GridView) и класс ListViewItemPresenter (для элемента управления ListView) создают объекты лишь по мере необходимости, и эти объекты лучше работают в Windows 8.1, чем в Windows 8. Кроме того, настроить поведение состояния элемента с помощью этих классов куда проще в Windows 8.1, чем в Windows 8.

Для демонстрации возьмем фрагмент разметки XAML для Windows 8.1, снимающий флажок, который появляется по умолчанию при выборе элемента и меняет фоновый цвет выбранного элемента на оранжевый.


<!-- ... -->
<GridView>
    <!-- ... -->
    <GridView.ItemContainerStyle>
        <Style TargetType="GridViewItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="GridViewItem">
                        <GridViewItemPresenter
                            SelectionCheckMarkVisualEnabled="False"
                            SelectedBackground="Orange"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </GridView.ItemContainerStyle>
</GridView>
<!-- ... -->


Обнаружение двух правильных строк разметки XAML, которые следует использовать, SelectionCheckMarkVisualEnabled="False" и SelectedBackground="Orange", включает выбор из списка примерно 25 доступных свойств с описательными именами.

Для сравнения, выполнение подобного действия в Windows 8 требует просмотра более 250 строк созданной разметки XAML (названия которых в меньшей степени указывают на содержание) и либо модификации целевой разметки на месте, либо копирования целевой разметки в ваш собственный код разметки XAML с ее дальнейшим изменением. Оба этих подхода тратят куда больше времени и более подвержены ошибкам.

GoToElementStateCore

Если нужно создать собственный шаблон элемента — например, если необходимо изменить визуальное поведение стандартного элемента в элементе управления GridView или ListView (скажем, изменение формы значка выбранного элемента), — то можно использовать метод GoToElementStateCore. Этот метод можно использовать для добавления элементов к иерархии визуальных элементов, описывающих состояние элемента для таких действий, как выбор, наведение указателя и поведение при получении фокуса. Метод GoToElementStateCore позволяет конструировать визуальные элементы этих типов для каждого состояния вместо загрузки XAML для всех состояний при запуске элемента управления. Использование этого метода может привести к лучшему запуску элемента управления по сравнению с созданием собственной реализации.

Код, показывающий, как использовать метод GoToElementStateCore, можно найти в примере, содержащем основы использования ListView и GridView.

Связанные разделы

Эффективная загрузка, хранение и отображение большого количества данных
Добавочное обновление элементов GridView и ListView
Минимизация времени запуска

 

 

Показ:
© 2014 Microsoft