Ошибка в Silverlight 4 + PRISM при применении собственного стиля - PullRequest
0 голосов
/ 10 марта 2011

Ситуация:

Проект "Оболочка" с App.xaml и словарем ресурсов в Styles / Default.xaml с интересными частями, таким образом:

Default.xmal

<ResourceDictionary
  <Style x:Key="StandardTextBox" TargetType="TextBox">
  ...
  </Style>
</ResourceDictionary

App.xaml

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

В модульном проекте у меня есть форма с:

<TextBox Style="{StaticResource StandardTextBox}" />

Во время выполнения я получаю печально известную "Ошибка HRESULT E_FAILбыл возвращен из вызова к компоненту COM. "исключение.Самое смешное, что во время разработки, в VS стиль отлично применяется в режиме дизайна.(и то, как VS.Net использует магию, зная, что в проекте Shell есть ресурс в App.xaml - на который не ссылается проект модуля ВСЕ - сбивает с толку ... но я отвлекся)

МойОбщая цель состоит в том, чтобы ресурсы определялись в файлах, отличных от App.xaml, в проекте Shell, и чтобы стили применялись внутренне в проектах Module.

Обновление: да, я был совершенно не правпуть войны здесь.Стиль TextBox, который генерирует Blend, ссылается на другой стиль для ValidationToolTip.Отказ от включения вызовет проблему, описанную выше.К сожалению, сообщение об ошибке было совершенно бесполезным, и подчеркивание закорючка в VS легко пропустить, когда оно находится глубоко в середине определения XAML и далеко направо.Живи и учись.

1 Ответ

0 голосов
/ 10 марта 2011

Реальная проблема не включала другой ссылочный стиль. Смотрите это .

...