2015-10-28 2 views
0

Я хочу добавить тему PresentationFramework.Aero в свой ResourceDictionary. Сам ResourceDictionary находится в одной сборке, называемой ProjectResources. В рамках этой сборки я определяю все свои стили для своего проекта. Поэтому этот ResourceDictionary используется несколькими различными сборками в моем проекте. До сих пор он отлично работал для всех моих Словари.Как добавить тему PresentationFramework.Aero в ResourceDictionary

Теперь я хочу добавить тему Aero. Но я всегда получаю исключение:

необработанное исключение типа 'System.Windows.Markup.XamlParseException' произошло в PresentationFramework.dll

Внутренняя Исключение:

{ «Не удалось загрузить файл или сборку« PresentationFramework.Aero, Culture = neutral »или одна из его зависимостей. Система не может найти указанный файл.»: «PresentationFramew ork.Aero, культура = нейтральной "}

ResourceDictionary определяется как то:

<Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/ImageDefinition.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/Brushes.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesLabel.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesTextBox.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesButton.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesTabControl.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesTextBox.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesBorder.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesListView.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesWindow.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesIndicator.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesSearchBox.xaml"/> 
       <ResourceDictionary Source="pack://application:,,,/ProjectResources;component/ProjectResources/Dictionaries/StylesTreeView.xaml"/> 
       <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 

Я также добавил ссылку на PresentationFramework.Aero.dll.

Так что я не понимаю, почему он не может найти определенную тему. В чем проблема с этим определением? Я пропустил что-нибудь еще рядом с этим определением, чтобы иметь возможность использовать эту тему?

РЕШЕННЫЙ: Как сказал Томумир в своем комментарии. Вам нужно установить параметр

Copy Local = истина

из PresentationFramework.Aero DLL. Делая это, dll будет скопирована в корневую директорию вашей программы, и это будет dll.

+0

вы скопировали PresentationFramework.Aero.dll в текущем каталоге выполнения? или установить true для CopyLocal в dll, когда вы ссылаетесь на него. – toumir

+0

@toumir: Thx много. Какая глупая ошибка. Я много пробовал. Но я действительно забыл установить «Копировать локальную» в true. – ck84vi

ответ

0

Я думаю, вам нужно добавить полную информацию по сборке в ResourceDictionary Источник:

<ResourceDictionary Source="/PresentationFramework.Aero,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL;component/themes/Aero.NormalColor.xaml" />