¿Cómo configurar el inicio de la ventana de WPF ClientSize?

Quiero configurar la ventana de mi WPF inicialcliente tamaño. No estoy viendo una manera directa de hacer esto.

Específicamente, cuando se abra mi ventana, quiero que tenga un tamaño lo suficientemente grande para que su contenido se ajuste sin necesidad de barras de desplazamiento. Pero una vez que se muestra, quiero que la ventana se pueda cambiar de tamaño libremente (ya sea más grande o más pequeña).

Si configuro los atributos de ancho y alto en mi elemento de ventana, eso establece elno cliente Tamaño (exterior), que no es útil. Una vez que la barra de título y los bordes de tamaño ingresen a ese espacio, el área del cliente ya no será lo suficientemente grande para su contenido, y tendré barras de desplazamiento. Podría compensarlo seleccionando un tamaño más grande, pero tanto la altura de la barra de título como el grosor del borde son personalizables por el usuario (así como los valores predeterminados que varían según la versión del sistema operativo) y no necesariamente serán los mismos en una máquina diferente.

Puedo establecer Ancho y Alto en el elemento de contenido de la ventana (un<Grid> en este caso), y luego establezca el atributo SizeToContent de Window en WidthAndHeight. Eso hace que el tamaño inicial de la ventana sea exactamente donde lo quiero. Pero entonces las cosas ya no cambian de tamaño: puedo cambiar el tamaño de la ventana, pero su contenido no cambia de tamaño, porque especificé un tamaño fijo.

¿Hay alguna forma de establecer el tamaño del cliente inicial de una ventana, preferiblemente sin código detrás? (Tomaré el código detrás si esa es la única manera, pero preferiría un enfoque solo de XAML si alguien tiene uno).

Respuestas a la pregunta(5)

Su respuesta a la pregunta