2012-02-17 17 views
6

Ho uno splitter di griglia prima dell'espansione (che esiste nel lato destro di una finestra wpf) e quando stavo eseguendo l'app ho bisogno di usare lo splitter per vedere più dati dall'espansione dopo la sua espansione , ma il problema è quando ero drag splitter, ho una visione completa del mio expander indipendentemente dalla larghezza originale, ma dopo aver cliccato su expander per collassarlo non andrà nella sua posizione originale mantenendo la larghezza trascinata dello splitter. Quindi chiunque mi aiuti come posso rimandare l'espansore nella sua posizione originale.Expander with GridSplitter

Grazie, @nagaraju.

risposta

10

Una volta utilizzato lo splitter, le larghezze della colonna della griglia non saranno più 'auto'.
Una soluzione è quella di rispondere all'evento crollato dell'espansore e reimpostare la larghezza della prima colonna di auto utilizzando column.Width=GridLength.Auto;

+0

mostrando errore come non può convertire da doppio a gridlength – nag

+0

suo funzionamento quando ho impostato column.width = GridLength.Auto; per favore modifica la tua risposta con questa riga, la accetterò. – nag

+0

buon punto. Lo metto in fretta senza controllare – Phil

2

Come si sta ridimensionando il contenuto del Expander può rendere più senso place the GridSplitter inside the Expander, e sulla fuori di te hai solo una Grid normale che rende la cella in cui l'Expander ha dimensioni per soddisfare.

+0

@HB hai ragione fammi provare questo .. :) – nag