Pasos del proceso de creación de control WPF

He estado buscando esa explicación por un tiempo y no he podido encontrar ninguna todavía. La cuestión es que me gustaría conocer los pasos del proceso de inicialización / creación de un Control de Wpf.

Tomemos un botón simple y me gustaría saber qué sucede cuando se llama al constructor, cuándo se agrega el control a visualTree / logicalTree, cuándo ocurre la invocación de los valores de propiedad de dependencia, ¿cuándo se llama a ApplyTemplate ()?

Necesito esta información para poder escribir el control personalizado adecuado y creo que ayudará a otros también en caso de que se pregunten por qué esto. Plantilla.FindName ("prueba") siempre devuelve "nulo" cuando se le llama dentro de un constructor de un control.

¿Alguien puede responder esto o proporcionarme enlaces de tutoriales donde se explique de manera popular el concepto de iniciar un control?

Gracias :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta