Estoy tratando de agregar un efecto de superposición a mi UserControl y sé para eso se usan los adornos en WPF. Pero estoy un poco confundido acerca de cómo supuestamente funcionan. Pensé que la capa adorner está manejada implícitamente por el tiempo de ejecución de WPF, y como tal, siempre debería estar disponible.¿Cuándo aparece por primera vez una capa adornada de WPF?
Pero cuando creo una instancia de UserControl en el código, no hay ninguna capa adorner allí. El siguiente código falla con la excepción:
var view = new MyUserControl();
var target = view.GetAdornerTarget(); // This returns a specific UI control.
var layer = AdornerLayer.GetAdornerLayer(target);
if (layer == null)
{
throw new Exception("No adorner layer at the moment.");
}
¿Puede alguien explicarme cómo se supone que funciona? ¿Debo primero colocar la instancia de UserControl en una ventana de nivel superior? ¿O necesito definir la capa de alguna manera? Excavar a través de la documentación no me llevó a ninguna parte.
¡Gracias!