2010-04-19 3 views
3

У меня есть ниже блок XAMLWPF 4: MergedDictionaries, кажется, не работает больше

'BaseStyles.xaml 
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="ShinyBlue.xaml"/> 
     <ResourceDictionary Source="DataGrid.Generic.xaml"/> 
    </ResourceDictionary.MergedDictionaries> 

</ResourceDictionary> 

форм, которые ссылаются на эту работу в режиме разработки, но не во время выполнения. Если моя форма напрямую ссылается на ShinyBlue.xaml или DataGrid.Generic.xaml, эта таблица стилей работает.

EDIT

Если я вставляю это непосредственно в форму, она работает правильно. По-видимому, проблема как-то связана с моей оберткой.

неработающей

<Window.Resources> 
    <ResourceDictionary Source="../BaseStyles.xaml"/> 
</Window.Resources> 

Работы

<ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="ShinyBlue.xaml"/> 
    <ResourceDictionary Source="DataGrid.Generic.xaml"/> 
</ResourceDictionary.MergedDictionaries> 
+0

Кажется, что это нормально для меня в WPF 4 ... можете ли вы предоставить урезанную версию вашего проекта? – Brent

ответ

2

Try включая весь свой путь из имен к имени файла:

<ResourceDictionary Source="pack://application:,,,/[YourDll];component/[YourLocation]/ShinyBlue.xaml"/> 

Где [YourDll] это имя вашего проекта, и [ YourLocation] - это место, где ResourceDictionary находится в вашей DLL.

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