Тэги

Silverlight (36) WPF (10) IIS (7) Visual Studio (7) SharePoint (6) .Net Framework (5) ODP.NET (5) ASP.NET (4) C# (4) common (4) Network Settings (3) JavaScript (2) MS Office (2) Resharper (2) WCF (2) WEB (2) XPath (2) XSLT (2) ADO.NET (1) APEX (1) CMD (1) CSS (1) EF (1) HTML (1) Hardware bugs (1) Java (1) MS SQL (1) Oracle (1) PDF (1) Version Control (1) XAML (1)

четверг, 5 ноября 2009 г.

Внимание! Добавление элементов в XAML Resource Dictionary из того же проекта, где расположен сам файл ресурсов



Вы приеняете тему из Silverlight Toolkit или свою тему с помощью ImplicitStyleManager и решили добавить в файл темы свои разработанные элементы, причем файл темы и ваши элементы лежат в одном проекте.
ImplicitStyleManager в Silverlight будет рвать в этом случае!

Обратите внимание, что автоматически подставляемая XML ссылка на namespace в вашем проекте получается без указания на сборку текущего проекта. Это обычное явление. Вот что вы получите при добавлении XML-референса в файл темы

xmlns:customControls="clr-namespace:MyProject.CustomControls"

А виноват в том, что рвется недоработанный ImplicitStyleManager. Он не переваривает XML-референсы без указания на сборку. Вот такой он :)
themingToolkit:ImplicitStyleManager.ResourceDictionaryUri="Themes/Generic.xaml"

Лечиться это легко, в вашем xmlns: добавте assembly=MyProjectAssemblyName
В результате вы получите:

xmlns:customControls="clr-namespace:MyProject.CustomControls; assembly=MyProjectAssemblyName"

Вуаля, работайте дальше.

Для поисковиков приведу возникающие при этом ошибки

Ошибка: Unhandled Error in Silverlight Application
Code: 2255
Category: RuntimeError
Message: AG_E_PARSER_BAD_TYPE
MethodName:

Unhandled Error in Silverlight Application AG_E_PARSER_BAD_TYPE [Line: 46 Position: 81]

Ну как-то так :)
Я про это как-то видел на форумах (EN), но тогда не обратил внимание на стонания бедного индуса :)

Комментариев нет:

Отправить комментарий