Я хочу добавить тему 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.
вы скопировали PresentationFramework.Aero.dll в текущем каталоге выполнения? или установить true для CopyLocal в dll, когда вы ссылаетесь на него. – toumir
@toumir: Thx много. Какая глупая ошибка. Я много пробовал. Но я действительно забыл установить «Копировать локальную» в true. – ck84vi