Silverlight 4 - Настройка стиля времени разработки пользовательских элементов управления в проекте элементов управления? - PullRequest
1 голос
/ 11 июля 2011

У меня есть несколько пользовательских элементов управления, которые должны использоваться несколькими проектами Silverlight 4. Я создаю новый проект, который определяет эти элементы управления в пространстве имен с именем [appname]. [UI]

Я хочу создать новую таблицу стилей для всех этих элементов управления в проекте, однако я не знаю, как ссылаться на стили во время разработки (я могу ссылаться на них через атрибут style = "", но они никогда не применяются ).

Более того, я знаю, что приложение должно "зарегистрировать" таблицу стилей как часть своих ресурсов. Есть ли способ сделать это из моего проекта пользовательского интерфейса?

Я ошибаюсь в своих предположениях или есть какие-то решения по этим вопросам?

Ответы [ 2 ]

0 голосов
/ 11 июля 2011

Терминология Silverlight, окружающая стили, немного сбивает с толку.Когда вы говорите таблицу стилей, вы действительно имеете в виду шаблоны.Если вы хотите последовательно устанавливать открытые свойства для элементов управления (например, FontSize, Background и т. Д.), Вам нужно использовать стиль.Но если вы хотите изменить способ размещения элемента управления, вы захотите установить новый шаблон элемента управления.Модификация шаблона элемента управления намного более эффективна для настройки элементов управления, но также может быть проблематична, потому что, насколько я знаю, вы можете редактировать шаблоны только через XAML.Я думаю, что вы можете редактировать шаблоны WYSIWYG, если вы используете Expression Blend.

Обзор различий между стилями и шаблонами: http://msdn.microsoft.com/en-us/library/cc295273.aspx

0 голосов
/ 11 июля 2011

Чтобы зарегистрироваться, добавьте тег <MergedDictionary> в вашу запись App.xaml <ResourceDictionary>.Это позволит приложению получать доступ к вашим стилям, например:

<Application.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="YourResourceFile.xaml"/>
    </ResourceDictionary.MergedDictionaries>
  </ResourceDictionary>
</Application.Resources>

. После регистрации атрибут Style = "" должен работать, но если это не так, отправьте код.Это может быть ошибка в XAML.

...