.net - redondeado - Sistema de diseño de dos pases en WPF y Silverlight
estilo en c# (1)
Muchas veces he visto que el código en MeasureOverride
y ArrangeOverride
es la misma medida de llamadas ArrangeOverride
y arregla en los métodos respectivos y un poco de lógica adicional como animación, etc. para cada elemento en ArrangeOverride
.
¿No sería simple si solo tienes un método para pasar tu lógica de medición en un lugar y el sistema de diseño lo recuerda y tiene un evento cuando cada elemento está a punto de agregarse y aplicas la lógica adicional de animación, etc.?
¿Me estoy perdiendo algo?
Sí, te estás perdiendo la sutil diferencia entre los dos.
En MeasureOverride
, el padre le pregunta al niño qué tan grande quiere ser.
En ArrangeOverride
, el padre le dice al niño cuánto espacio tiene y dónde se coloca.
Es como el presupuesto o el tiempo de revisión en su trabajo: su jefe le pregunta cuánto dinero quiere, luego se ríe y le dice cuánto obtendrá realmente y cuándo. Al igual que el control infantil, debes hacer lo mejor con lo que te dan.
Para poner un poco de perspectiva sobre esto, uno de los puntos clave de WPF es la interfaz de usuario escalable. Al igual que en el caso anterior de jefe / empleado, las necesidades del control padre / hijo deben mantenerse en equilibrio. El hecho de que un control de niños solicite un determinado tamaño no significa que el control de padres tenga ese espacio para dar, por lo que debe ser comunicado al niño. OTOH, con el tamaño cada vez mayor de los monitores, su hijo puede terminar con muchos más bienes inmuebles de los que realmente necesita.