В зависимости от того, из чего происходит ваш пользовательский элемент управления, вы не сможете вызывать InitializeComponent () для него.Например, ContentControl не предоставляет InitializeComponent.
Если вы проверите этот поток, вы увидите, что причина, по которой OnApplyTemplate никогда не вызывается, в том, что вы определили проект как классБиблиотека, а не библиотека пользовательских элементов управления.Visual Studio добавляет дополнительную информацию в AssemblyInfo.cs, чтобы сообщить среде выполнения, где найти шаблон для вашего элемента управления.
Если вы добавите следующий код в файл AssemblyInfo.cs, он должен начать работать правильно:
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]