Domanda

Sto cercando di progettare una vista con un datagrid uno splitter di rete e un pannello di fondo che contiene alcuni messaggi. Qualcosa di simile:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="10"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <toolkit:DataGrid Grid.Row="0" {details...} />
    <GridSplitter Grid.Row="1" {details...} />
    <TextBox Grid.Row="2" {details...} />
</Grid>

Questa disposizione sembra perfetto - griglia riempie la maggior parte della vista e ho il divisore per espandere il testo in basso, se necessario. Il problema è che il DataGrid diventa molto grande e ho bisogno Attiva la virtualizzazione. Questo funziona solo se un'altezza esplicito è dato al contenitore della griglia credo?

C'è un modo per ottenere il layout che voglio (dove la rete si riempie tutto lo spazio disponibile), ma anche hanno Attiva la virtualizzazione?

È stato utile?

Soluzione

  

C'è un modo per ottenere il layout che voglio (dove la rete si riempie tutto lo spazio disponibile), ma anche hanno Attiva la virtualizzazione?

La virtualizzazione dovrebbe funzionare bene nello scenario che lei descrive, a condizione che il genitore della griglia non sta misurando l'all'infinito nella direzione verticale. Se così fosse, lo splitter non funzionerebbe.

Come stai determinando che le righe all'interno del vostro DataGrid non vengono virtualizzati?

Si noti che il DataGrid non avere un'altezza esplicito nel tuo scenario. Più in particolare, la Griglia genitore misura ancora il DataGrid a un'altezza esplicita (lo spazio verticale rimanente nella griglia dopo la contabilizzazione per le altre righe).

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