2010-07-09 1 views
8

Come si imposta la larghezza di una casella di testo per riempire il contenitore a livello di programmazione? Per esempio in XAML se ho la seguente dichiarazione per la casella di testo:Come si imposta Textbox.Width al 100% in silverlight?

<TextBox Height="23" Name="TextBox1" VerticalAlignment="Top" Width="50" /> 

Come posso impostare la larghezza in modo da riempire il contenitore in un gestore di pulsante di scatto?

risposta

18

Si dovrebbe essere in grado di utilizzare HorizontalAlignment="Stretch" (assicurarsi che non si imposta un esplicito Width o MaxWidth per consentire il dimensionamento dinamico). Non ho fatto nessuno sviluppo di Sliverlight, ma in WPF, questo è il trucco!

+2

+1 Questo è corretto. Ciò farà sì che la casella di testo sia al 100% del suo contenitore, assicurati che il contenitore si stia allungando anche se non vedi una modifica dopo questo. Inoltre, assicurati di rimuovere Width = "50" quando imposti Stretch – David

+0

Un'altra cosa a cui prestare attenzione è il contenitore in cui si trova. Affinché il 'TextBox' occupi il 100% deve trovarsi in un contenitore che una larghezza fissa Se è in un 'Grid' o' StackPanel' in un orientamento verticale funzionerà, ma se il contenitore in cui si trova si espanderà per adattarsi al suo contenuto, il 'TextBox' prenderà solo la dimensione necessaria per contenere il suo contenuto. – Stephan