Estoy creando un control para WPF, y tengo una pregunta para ustedes, los gurús de WPF.Áreas de desplazamiento anidadas
Quiero que mi control se pueda expandir para adaptarse a una ventana de tamaño variable.
En mi control, tengo un cuadro de lista que quiero expandir con la ventana. También tengo otros controles en el cuadro de lista (botones, texto, etc.).
Quiero poder establecer un tamaño mínimo en mi control, pero quiero que la ventana se pueda dimensionar más pequeña creando barras de desplazamiento para ver el control.
Esto crea áreas de desplazamiento anidado: una para el cuadro de lista y un ScrollViewer que envuelve todo el control.
Ahora, si el cuadro de lista está configurado en tamaño automático, nunca tendrá una barra de desplazamiento porque siempre se dibuja a tamaño completo dentro del ScrollViewer.
Solo quiero que el control se desplace si el contenido no puede ser más pequeño, de lo contrario no quiero desplazar el control; en su lugar, quiero desplazarme por el cuadro de lista dentro del control.
¿Cómo puedo alterar el comportamiento predeterminado de la clase ScrollViewer? Intenté heredar de la clase ScrollViewer y anular las clases MeasureOverride y ArrangeOverride, pero no pude encontrar la forma de medir y organizar al niño correctamente. Parece que el arreglo tiene que afectar al ScrollContentPresenter de alguna manera, no al contenido real hijo.
Cualquier ayuda/sugerencia sería muy apreciada.
Muy buena pregunta. Nos encontramos con un problema muy similar nosotros mismos. – cplotts