voltear una tamaño rotar poner lienzo imagen horizontal hoja girar cs6 cs5 como cambiar atajo ajustar c# wpf canvas resize

c# - una - tamaño de hoja en photoshop



Diferencia entre lienzo y cuadrícula para mover, cambiar el tamaño, girar elementos UIE (1)

Quiero desarrollar un editor que pueda agregar Controles dinámicamente y luego mover, cambiar de tamaño o rotar para crear una ventana con estos elementos UIE.

Mi pregunta es ¿quién es mejor para un contenedor de este UIElements, una Grid o un Canvas?

Los lienzos funcionan en una posición absoluta, tal vez tienen una mejor precisión para la transformación. ¿Pero responde menos cuando mostraré la aplicación en diferentes resoluciones de pantalla? No conozco muy bien los pros / contras de Grid o Canvas.

Hice un ejemplo con Canvas y Grid para mover un UIElement con este código:

private void ui_MouseMove(object sender, MouseEventArgs e) { if (m_IsPressed) { UIElement ui = (UIElement)sender; TranslateTransform transform = new TranslateTransform(); transform.X = Mouse.GetPosition(MyGridOrCanvas).X; transform.Y = Mouse.GetPosition(MyGridOrCanvas).Y; ui.RenderTransform = transform; } }

Pero con Canvas o Grid, cuando hago clic en el UIElement y sin moverme, el UIElement siempre mueve x, y desde mi cursor. Tal vez no sea la mejor manera de hacer esto. Si también tiene tutoriales sobre cómo construir estas características, también me ayudarán. Soy nuevo con esto.

Muchas gracias y saludos!


Solo daré una breve respuesta a esta pregunta, ya que es probable que la comunidad la cierre aquí por ser demasiado subjetiva . Ya puedo ver un voto cercano.

Entonces, en mi opinión, el Canvas es un control mucho mejor para usar para este propósito. Por una razón, no tiene los requisitos de diseño considerables de la Grid por lo que es más eficiente. La otra razón principal es que el uso de las propiedades Canvas.Top y Canvas.Left para mover los elementos es perfecto ... para mover elementos en otros Panel , a menudo tiene que conformarse con establecer la propiedad Margin lugar, que está lejos de ideal.

En cuanto a los elementos que se mueven cuando se hace clic en ellos ... eso es solo un error en el código que lo hace, no es el comportamiento normal: un control no se moverá solo a menos que se lo indiquemos.