Domanda

In Silverlight, come posso allungare la larghezza di una linea per riempire la larghezza dello StackPanel in cui è un elemento figlio? Preferisci una soluzione XAML, non un code-behind. Ecco come posso farlo in WPF:

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

Ma ciò non funziona in Silverlight.

È stato utile?

Soluzione

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

Funziona sia in WPF che in Silverlight.

Se le X sono 0, è una linea verticale. Se le Y sono 0, è orizzontale. Usa X1 = 0 Y1 = 0 X2 = 1 Y2 = 1 per la diagonale da in alto a sinistra a in basso a destra, oppure invertila per in basso a sinistra in alto a destra.

Funky fresco.

Altri suggerimenti

Questo è stato risposto sul forum Silverlight.net dall'utente sladapter come segue:

Silverlight corrente non supporta l'associazione di elementi.

Devi usare l'oggetto Line? Se vuoi solo disegnare una linea puoi usare Rectangle (altezza 2 px), quindi puoi impostare HorizontalAlignment = " Stretch " così si allungherà automaticamente.

Ha funzionato perfettamente per le mie esigenze.

ElementBinding esiste in Silverlight 4. Ma non c'è ancora un ottimo modo per allungare un oggetto per riempire il suo contenitore padre. Quello che vuoi davvero è adattarsi al contenitore padre nella struttura ad albero visuale, che prende in considerazione l'applicazione dei modelli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top