2012-01-04 2 views
4

A) Если у меня есть ресурс, который будет использоваться из пользовательского элемента управления, какой из них более эффективен с точки зрения производительности ...?
Чтобы включить его в область пользовательского контроля самостоятельно или обратиться к ресурсу из app.xaml ..?Объем ресурса WPF: подталкивает ли он его к области применения (app.xaml) для производительности?

B) Теперь у нас есть все 100 стилей, упомянутых в appl.xaml. Будет ли перемещение их в соответствующие пользовательские элементы управления, стоит усилий ..?

+1

У вас проблема с производительностью сейчас? – Paparazzi

+0

Время загрузки медленное. Но организация файлов в проекте не устраивает всех стилей xamls в одной большой папке, и все эти xamls ссылаются на app.xaml. Я думал о перемещении тех ресурсов, которые не были широко использованы в области пользовательского контроля. Хотелось узнать, даст ли это какое-либо преимущество в производительности, отличное от хорошей папки и справочной структуры. – Socrates

ответ

1

Добавление ресурсов приложения дает вам лучшее повторное использование, но это добавляет сложность, потому что не сразу понятно, какие страницы использовать данный ресурс.

Pro Silverlight 4 в C# Мэтью Макдональд


В целом, это зависит от уровня многократного использования ресурсов в сфере применения. Если ресурс используется многократно, то разместите его в ресурсах приложений. Если вы собираетесь использовать стиль только для одного UserControl и не использовать его в других местах, то размещение этого стиля в app.xaml будет чрезмерным. По моему мнению, даже если ресурс используется только на 2-3 страницы, лучше разместить его на каждой странице.

С точки зрения производительности - я не думаю, что у вас есть такое количество ресурсов, что может повредить производительность.
Ниже приведены статьи, которые могут помочь вам улучшить время загрузки:

Update:
MSDN помогает во многих ситуациях) После прочтения этой статьи, вам 'Ответы на многие вопросы: Resource Dictionaries
Статья, которая описывает Resources проблемы с производительностью: Silverlight XAML Performance Problem and Shared Resources.

2

A) Если у меня есть ресурс, который будет использоваться из пользовательского элемента управления, какой из них более эффективен с точки зрения производительности ...? Чтобы включить его в область пользовательского контроля самостоятельно или указать ресурс из app.xaml ..?

Поскольку XAML скомпилирован в BAML и затем загружен при запуске, вы не увидите различий. Теперь большинство вещей XAML разделены (например, линейная графика, выпадающий стиль), поэтому лучше не ставить ее прямо на элемент управления для повторного использования того же стиля и факторизации

B) Теперь у нас есть все 100 стилей ссылка на appl.xaml. Будет ли перемещение их в соответствующие пользовательские элементы управления?

Счетчик результативности, так как вы не сможете их повторно использовать.

Если ваш XAML работает медленно, и вы используете MVVM, проверьте, сколько объектов создано. У меня была проблема в этом году, воссоздав контекстное меню для каждого элемента и оставив его доступным для всех элементов (в древовидной структуре) улучшенное время инициализации.

0

Я бы разместил его там, где это наиболее логично. Если это то, что используется более чем в одном месте или даже что-то, что можно использовать более одного раза, тогда поместите его в app.xaml. Если это очень специфично для окна страницы/usercontrol /, поместите его там.

 Смежные вопросы

  • Нет связанных вопросов^_^