Mientras que algunos de los controles WPF llenan todo el espacio disponible cuando se disponen y se procesan, los otros no. Específicamente, el control de imagen no es del tipo que establece su tamaño en sí mismo, es decir, en los casos en que no se especifica el tamaño del control explícitamente con atributos de ancho/alto o similar.
Pero el control de cuadrícula llena todo el espacio disponible cuando carece de atributos de definición de tamaño. La plantilla de página/ventana en Visual Studio tiene un control de cuadrícula como elemento secundario de un control raíz de página/ventana, y cuando el usuario comienza a poner controles en una página en un editor gráfico, los controles agregados por el usuario primero se vuelven secundarios de esta cuadrícula controlar.
Si ha utilizado la plantilla VS, y su Control de imagen es un elemento secundario del mencionado control Grid, asigne a su Cuadrícula un atributo x: Nombre y puede usar las propiedades ActualWidth/Height de la Grilla para sus necesidades en código subyacente, porque el control de la imagen crece hasta su tamaño de cuadrícula original, siempre que no especifique su tamaño de forma explícita o no, es decir, establezca el contenido de la imagen.
Por cierto, se puede cambiar el comportamiento del tamaño de los controles incorporados. Puede modificar un control y anular las propiedades de dependencia correspondientes. Ver, por ejemplo, https://stackoverflow.com/a/6094993.
He intentado hacer esto. Pero el resultado es el mismo ( –
@TimurMustafaev ¿Cómo intentas obtener los valores? ¿A través del código? A través de un enlace? Y cuando intentas obtener los valores? El control debe representarse antes de 'ActualHeigh' y' ActualWidth' Devolveré un tamaño. – Rachel
Llamo a un nuevo formulario desde mi Ventana Principal. En este nuevo formulario hay controles fiew y uno de ellos es Imagen. Después de cargar la ventana, trato de obtener un tamaño como este: _imageControl.ActualWidth o _imageControl.ActualHeigh –