Pregunta

Soy consciente de la FontStretch propiedad, pero no muy seguro de cómo usarlo.

Lo que quiero es crear una ventana diseñada con una resolución de 200x400 decir. A continuación, cuando el usuario se extiende a 400x800 (o lo que sea), me gustaría al igual que toda la ventana para estirar / escalar hacia arriba (en el escenario dado, todo lo que se duplicaría en tamaño) en lugar de moverse. Sería bueno si funcionaba con imágenes también, pero sólo conseguir los tipos de letra y tamaño de los objetos generales de hacer esto sería bueno.

¿Hay funciones incorporadas o bibliotecas 3 ª parte que proporcionan esta funcionalidad?

¿Fue útil?

Solución

Si todo su contenido tiene que ser estirado proporcional incluyendo los textos, imágenes y controles, arreglar su tamaño principal del panel de 200x400 e incluirla en un panel Viewbox.

Puede surgir un problema cuando el usuario cambia el tamaño de la ventana de una manera no proporcional como a 300x400. A continuación, dependiendo de las propiedades Viewbox.StretchDirection y estirar es posible que tenga un diseño distorsionada o zonas vacías. Para solucionar esto se puede constreñimiento del tamaño de la ventana a una cierta proporción.

Otros consejos

Puede echar un vistazo a la implementación del control ColorPicker aquí: http://livegeometry.codeplex.com/SourceControl/changeset/view/34720# 405553 especialmente MeasureOverride, ArrangeOverride y ComputeScaleFactor. escala_m es la ScaleTransform que se aplica a todo el control.

También puede utilizar SizeToContent y LayoutTransform si es necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top