(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Практическое руководство. Обработка больших XAML-файлов

В языке XAML предусмотрена возможность представления сложных структур данных. В результате некоторые XAML-файлы могут стать очень большими.Например, представление XAML векторного изображения может занимать несколько мегабайт. Большие XAML-файлы могут вызвать проблемы с производительностью в Конструктор WPF для Visual Studio. Следующие процедуры могут помочь в решении проблем с производительностью, вызванных большими блоками кода XAML.

Наилучшим способом повышения производительности при работе с большими XAML-файлами в Visual Studio является не использование представления конструктора в сред. Конструктор WPF. Предлагаются два способа редактирования кода XAML в среде Visual Studio без использования представления конструктора.

Первым способом является отключение представления конструктора и использование только представления XAML. Для указания того, что XAML-файлы должны открываться в полном представлении XAML, достаточно изменить параметр Текстового редактора. При использовании этого подхода предоставляется полная поддержка редактирования XAML, окно Структура документа и навигатор по тегам.

Второй способ заключается в использовании редактора исходного кода. XAML-файлы можно открыть в редакторе исходного кода с помощью диалогового окна Открыть с помощью. Это наиболее простой способ, обеспечивающий наилучшую производительность для больших XAML-файлов.Обеспечивается полная поддержка редактирования кода XAML, но окно Структура документа и навигатор по тегам не отображаются.

Открытие XAML-файлов в полном представлении XAML

Открытие файлов XAML в редакторе исходного кода

  1. В обозревателе решений щелкните правой кнопкой мыши XAML-файл, чтобы открыть его.

  2. В контекстном меню выберите Открыть с помощью.

  3. В диалоговом окне Открыть с помощью выберите Редактор исходного текста и нажмите кнопку OK.

    XAML-файл открывается в редакторе кода.

Представление конструктора можно использовать для работы с большими блоками кода XAML, но это может вызвать проблемы с производительностью. Следующие рекомендации могут повысить производительность.

Повышение производительности представления конструктора при работе с большими блоками кода XAML

  • Переместите большой блок кода XAML в отдельный элемент UserControl. Используя этот способ, можно добавить большой XAML-файл на поверхность разработки с минимальными затратами производительности.

  • Переместите большой блок XAML в файл ресурсов XAML. Если этот файл ресурсов связан с пользовательским элементом управления, большой XAML-файл загружается, только когда конструктор открывает пользовательский элемент управления.

  • Реструктурируйте код XAML, чтобы снизить до минимума число обновлений, включающих большие блоки XAML.

    В следующем примере кода показан элемент Canvas, содержащий большой блок XAML с описанием изображения. Изменение одного из его родственных элементов управления "кнопка" заставляет обновляться родительскую сетку и все его дочерние узлы. Обновление элемента Canvas с большим блоком XAML может привести к снижению производительности.

    <Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="300" Width="300">
        <Grid>
            <Canvas>
                <!-- Many paths describing an image. -->
            </Canvas>
            <Button />
            <Button />
            <Button />
        </Grid>
    </Window>
    

    В следующем коде демонстрируется реструктуризация предыдущего кода XAML для устранения проблем с производительностью.

    <Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="300" Width="300">
        <Grid>
            <Canvas>
                <!-- Many paths describing an image. -->
            </Canvas>
    
            <Grid>
                <Button />
                <Button />
                <Button />
            </Grid>
        </Grid>
    </Window>
    

    Элементы управления "кнопка" больше не являются родственными элементу Canvas, и изменения одной из кнопок не приведут к обновлению элемента Canvas.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 05.07.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft 365 Apps for business (corporate)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Delphi - проблемы и решения
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100