Pregunta

En Silverlight, ¿cómo puedo estirar el ancho de una línea para llenar el ancho del StackPanel en el que es un elemento secundario? Prefiere una solución XAML, no un código subyacente. Aquí es cómo puedo hacerlo en WPF:

<Line X1="0" 
      X2="{Binding Path=ActualWidth, ElementName=HolePatternStackPanel}" 
      Stroke="Gray" 
      StrokeThickness="1" />

Pero eso no funciona en Silverlight.

¿Fue útil?

Solución

<Line X1="0" Y1="0" X2="0" Y2="1" Stretch="Fill" Stroke="#FF000000" />

Funciona tanto en WPF como en Silverlight.

Si las X son 0, es una línea vertical. Si las Y son 0, es horizontal. Use X1 = 0 Y1 = 0 X2 = 1 Y2 = 1 para la diagonal desde la parte superior izquierda a la parte inferior derecha, o inviértalo para la parte inferior izquierda a la parte superior derecha.

Funky fresco.

Otros consejos

Esto fue respondido en el foro de Silverlight.net por el usuario sladapter de la siguiente manera:

Silverlight actual no admite el enlace de elementos.

¿Tienes que usar el objeto Line? Si solo desea dibujar una Línea, puede usar Rectángulo (altura de 2 px), luego puede establecer HorizontalAlignment = " Estirar " Es así que se estirará automáticamente.

Funcionó perfectamente para mis necesidades.

ElementBinding existe en Silverlight 4. Pero todavía no hay una buena manera de estirar un elemento para llenar su contenedor principal. Lo que realmente desea es encajar en el contenedor principal en el Árbol Visual, que tiene en cuenta la aplicación de plantillas.

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