(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 365 Business Basic (corporate)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft 365 Apps for business (corporate)
Microsoft 365 Business Standard (corporate)
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
Работа в Windows и новости компании Microsoft
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100