Однако я запутался, почему у файла приложения, унаследованного от System.Windows.Application, есть файл xaml? Хотя это приложение, а не представление (оно не видно)?
Помните, что XAML - это не язык пользовательского интерфейса, а общий декларативный язык. Хотя это правда, что он в основном используется для представления пользовательского интерфейса для WPF или SilverLigth, он также используется для объявления графа объектов в других технологиях, не связанных с пользовательским интерфейсом.
Первый пример, который мне приходит в голову, - это рабочий процесс (XOML является производным от XAML), SharePoint также использует XAML в некоторых скрытых частях, и я видел в проекте клиента использование XAML в качестве мета язык для создания веб-приложений (и да, на самом деле он выводит HTML).
Затем, чтобы ответить на ваш вопрос, у приложения есть оба файла (и это на самом деле не является обязательным требованием), потому что вы можете:
- объявить некоторые объекты (в xaml)
- переопределить поведение приложения (путем переопределения соответствующих методов)