Question

Je suis en train de concevoir une vue avec un DataGrid un séparateur de grille et un panneau inférieur qui contient des messages. Quelque chose comme:

<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>

Cette disposition semble parfait - la grille remplit la majorité de la vue et je le séparateur pour étendre le champ de saisie au fond si nécessaire. Le problème est que le Datagrid devient très grand et j'ai besoin activé la virtualisation. Cela ne fonctionne que si une hauteur explicite est donnée au conteneur de la grille, je crois?

Y at-il un moyen d'obtenir la mise en page que je veux (où la grille remplit tout l'espace disponible), mais ont également activé la virtualisation?

Était-ce utile?

La solution

  

Y at-il un moyen d'obtenir la mise en page que je veux (où la grille remplit tout l'espace disponible), mais ont également activé la virtualisation?

La virtualisation devrait fonctionner correctement dans le scénario que vous décrivez, tant que parent de la grille ne mesure pas à l'infini dans la direction verticale. Si tel était le cas, le séparateur ne fonctionne pas.

Comment déterminez-vous que les lignes dans votre DataGrid ne sont pas virtualisés?

Notez que le DataGrid Finalité ont une hauteur explicite dans votre scénario. Plus précisément, la grille mère mesure toujours le DataGrid à une hauteur explicite (l'espace vertical restant dans la grille après prise en compte pour les autres lignes).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top