App.xaml
является частью XAML класса Application - единого централизованного места, где вы определяете логику и ресурсы всего приложения. Хотя Generic.xaml
находится в каталоге Themes
вашего проекта, это словарь, в котором вы определяете стили по умолчанию для всех своих пользовательских элементов управления. Этот словарь используется, когда в папке Themes
отсутствует словарь для темы Windows. Например, у вас может быть следующая структура каталога Themes
:
MyProject
- Themes
- Generic.xaml // Default styles if current theme is non of the themes below
- Classic.xaml // Styles for “Classic” Windows 9x/2000 look on Windows XP.
- Luna.NormalColor.xaml // Styles for default blue theme on Windows XP.
- Luna.Homestead.xaml // Styles for olive theme on Windows XP.
- Luna.Metallic.xaml // Styles for silver theme on Windows XP.
- Royale.NormalColor.xaml // Styles for default theme on Windows XP Media Center Edition.
- Aero.NormalColor.xaml // Styles for default theme on Windows Vista
Если вы хотите, чтобы пользовательский элемент управления выглядел одинаково в любой теме Windows, вам нужно создать только Generic.xaml.
Итак, в основном вы должны использовать Generic.xaml
только для определения стилей для вашего пользовательского элемента управления и App.xaml
для всего остального (например, ваши кисти, цвет и т. Д. Или ваши собственные стили для стандартных элементов управления).
См. Также ответ на этот вопрос: Что такого особенного в Generic.xaml?