Связанные темы /Generic.xaml Файлы не будут работать в Visual Studio 2008
У меня есть проект, который я делаю, и мне нужно поделиться кодом между silverlight и сборкой WPF. Проблема в том, что, хотя сборка wpf является владельцем этого файла, а сборка silverlight имеет только ссылку на файл, вся сборка действия страницы все правильно. если я делаю сборку silverlight владельцем, то silverlight работает, а wpf нет, и в настоящее время, когда wpf является владельцем, я вообще не получаю никаких ошибок, он просто никогда не стилизует элемент управления, как если бы он не мог его найти..
Примечание: оба проекта существуют в одном решении.
этот сценарий строится и работает нормально
проект wpf
|__Themes
|__Generic.xaml
|__SomeControl.cs
этот сценарий строится и запускается, но не будет отображать элемент управления, если я изменю их со связанного на обычный, он будет работать нормально.
я просто хочу поделиться этим исходным кодом и не иметь несколько версий одного и того же файла, плавающих вокруг.
SilverlightProject
|__Themes
|__"Linked"Generic.xaml
|__"Linked"SomeControl.cs
извините за мое банальное представление в виде дерева
+++++++ ОБНОВЛЕНИЕ +++++++++
Я заметил, что при использовании любого связанного файла, независимо от того, является ли он Silverlight или WPF, файл ссылки не будет встраиваться в папку Темы в ресурсе только в корневой каталог. Я использовал рефлектор, чтобы увидеть, где мои ресурсы оказались после компиляции сборки, включая связанный файл, и они оказались в корне, так что, как говорится. Есть ли способ предотвратить это или исправить это, если это действительно непреднамеренное поведение.
Мне бы очень хотелось, чтобы это выяснилось, так как это уже давно сводило меня с ума.
1 ответ
Silverlight XAML и WPF XAML не имеют одинакового пространства имен - поэтому они не могут быть использованы повторно напрямую.
Моя ошибка - вы правы - теперь с Silverlight 3 пространства имен одинаковы:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml
Что такое действие "Построить" на панели свойств для XAML?