для проектов WPF можно скомпилировать файлы * .xaml как Page
или как Resource
.
Resource
напрямую хранит необработанный файл * .xaml в ресурсах сборки. Это прекрасно работает для файлов, у которых нет кода и нет «особого» поведения. Это означает, что простые <ResourceDictionary>
файлы работают нормально, за исключением одного, относящегося к теме (Theme\Generic.xaml
).
Файлы с Page
компилируются в файл BAML и сохраняются в ресурсах. Это поддерживает все, что поддерживает необработанный файл * .xaml, а также все специальные случаи и вспомогательный код сверху.
В тестовом проекте мне не удалось найти каких-либо существенных различий между обоими методами. Недостаток метода Resource
в том, что файл не проверяется. Означает, что он не должен содержать допустимый код XAML. Как бы то ни было, включение его в Window
и использование контента работает, если <ResourceDictionary>
хранится как Resource
или как Page
точно так же.
Естественно, я установил бы файлы на Page
, чтобы получить проверку ошибок. Я не вижу причины, по которой следует использовать метод Resource
. Как бы то ни было, в документации вначале упоминается метод обработки файлов как Resource
, но без объяснения, почему кто-то будет использовать его для * .xaml файлов.
Так что вопрос такой:
Есть ли причина для установки файлов WPF XAML на Resource
?