J'ai une grille de données qui affiche des éléments avec deux colonnes de données de ligne de texte et un plus grand détail de texte libre que j'affiche via un modèle rowdetails avec juste une bordure et un bloc de texte. Le problème que j'ai est que les détails du texte sont souvent plus grands que la zone autorisée pour la grille. Le comportement de défilement par défaut de la grille de données signifie que les utilisateurs ne peuvent pas afficher l'intégralité du détail lorsque le défilement passe à l'élément suivant. Si je résoudre ce problème en utilisantMéthode pour autoriser le défilement du contenu RowDetail dans WPF DataGrid
ScrollViewer.CanContentScroll="False"
alors le DataGrid devient unusably lent avec un nombre important de lignes que la virtualisation est désactivée. Je pensais que je pourrais contourner cela en enveloppant le rowdetail dans un scrollviewer, mais cela ne fonctionne pas car la zone de détail n'est pas limitée à la zone de rendu.
Donc, quelqu'un peut-il offrir des options utilisables? Ma connaissance de WPF est assez minime, donc excuses s'il y a une manière évidente de résoudre ceci.
Edit: RowDetailsTemplate
<DataGrid.RowDetailsTemplate>
<DataTemplate >
<Border Background="Gray"
Padding="5,5,5,5" CornerRadius="5">
<TextBlock Background="Transparent"
Foreground="White"
TextWrapping="Wrap"
Text="{Binding Text}"/>
</Border>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
Poster un exemple de code de votre RowDetailsTemplate –