Чтобы уточнить ответ @ mm8: нет, потому что, если вы проверите метод FrameworkTemplate.LoadContent
, вы обнаружите, что шаблон в основном является оберткой, которая использует либо FrameworkElementFactory
, либо TemplateContent
для загрузки содержимого, TemplateContent
является утилитой для чтения XAML потока узла.Таким образом, это единственный способ работы шаблона.
Лично я рекомендовал бы использовать XAML (как отдельный *. Xaml файл, а не string
), потому что он гораздо более читабелен, но также и потому, что FrameworkElementFactory
имеет ограниченную функциональность, то есть он поддерживает только свойства зависимостей и перенаправленные события (вы не можете создать фабрику, которая установила бы обычный CLR свойство или обработчик события).Однако у него есть одно преимущество перед XAML - он поддерживает универсальные классы, поэтому, возможно, наиболее подходящим является сочетание обоих.