Question

Comment puis-je régler la TextWrapping de chaque cellule dans un DataGrid WPF à « NoWrap »? Je comprends la cellule elle-même ne dispose pas d'une propriété « TextWrapping », mais je voudrais définir la propriété sur le contrôle dans la cellule.

Le DataGrid Je travaille avec ne dispose pas des colonnes définies explicitement, le jeu de résultats qu'il affiche est dynamique.

Je cherche une solution similaire aux réponses fournies dans les liens ci-dessous. Cependant, je ne veux pas passer outre explicitement le style de cellule / modèle et définir le contrôle à utiliser. Au lieu de cela, je voudrais dire, si un TextBlock est utilisé, définissez sa propriété TextWrapping à NoWrap.

boîte à outils WPF DataGrid emballage texte cellulaire
Comment puis-je activer du texte sur tous les les en-têtes de colonne

Était-ce utile?

La solution

Dans les ressources de votre DataGrid, vous pouvez spécifier un style par défaut alternative pour TextBlocks. Cela devrait faire ce que vous avez besoin ( « SI un TextBlock est utilisé, définissez sa propriété TextWrapping à NoWrap »). Cela ne fonctionnera pas si les TextBlocks spécifier explicitement un style différent à utiliser.

<DataGrid ...>
    <DataGrid.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextWrapping" Value="NoWrap"/>
        </Style>
    </DataGrid.Resources>
    ...
</DataGrid>

(non testé, puisque je n'ai pas droit disponible Visual Studio maintenant.)

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