|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
[WPF] Visualizzare ScrollBar Verticale in un DataGrid
Buongiorno,
ho il seguente codice: Codice:
<Grid VerticalAlignment="Top"> <Grid.RowDefinitions> <RowDefinition Height="50" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <!-- Toolbar Command --> <StackPanel Orientation="Horizontal" Margin="0,0,0,0" Visibility="Visible" Grid.Row="0"> [MY CONTENT] </StackPanel> <StackPanel Grid.Row="1"> <DataGrid Name="dgSample" --MY PROPERTY-- ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto"> <DataGrid.Columns> ... </DataGrid.Columns> </DataGrid> </StackPanel> </Grid> - la prima riga con altezza 50 - la seconda riga con altezza * così da vedere i dati per la dimensione della finestra disponibile Come faccio a visualizzare la scrollbar visto che non ho fissato l'altezza al DataGrid? Grazie. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Ciao Kendall,
già provato, se non setto un'altezza minima al DataGrid non riesco a visualizzare lo scrollbar verticale... |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Quello che non mi torna è appunto l'uso dello StackPanel. NON deve esserci, ci pensa la DataGrid ad eseguire il layout dei suoi componenti, ed essendo che lo stack panel fornisce spazio indefinito ai suoi figli, questo farà credere al datagrid di avere spazio infinito e pertanto non mostrerà mai le barre di scorrimento. Quindi, fermo restando quanto detto (togli lo stackpanel), il problema va cercato altrove. Prova prima di tutto ad eliminare queste proprietà dalla datagrid: Codice:
ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto" Prova ad eliminarle e fammi sapere. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Kendall,
ho risolto, ho rimosso lo StackPanel che contiene la griglia, ma ho dovuto inserirla in un DockPanel. Lo StackPanel non dovrebbe 'gestire' altezze fisse, mentre il DockPanel si, adesso funziona... Grazie come sempre! |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Robertino, fidati, non serve neppure la DockPanel (vai solo a complicare la struttura visuale del tuo programma, senza alcun vantaggio: un pannello con un unico figlio non serve a niente). Hai provato ad inserire come ti ho detto la DataGrid dentro al GridView genitore e a togliere quelle proprietà che ti avevo indicato prima? |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Per capirci:
Codice:
<Grid VerticalAlignment="Top">
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- Toolbar Command -->
<StackPanel Orientation="Horizontal" Margin="0,0,0,0" Visibility="Visible" Grid.Row="0">
[MY CONTENT]
</StackPanel>
<DataGrid Name="dgSample" Grid.Row="1">
<DataGrid.Columns>
...
</DataGrid.Columns>
</DataGrid>
</Grid>
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Kendall, hai perfettamente ragione, testato questa mattina, funziona perfettamente.
Grazie come sempre! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:46.




















