9
votes

Comment définir la couleur de fond de la colonne de la grille dans WPF?

J'ai une application MVVM WPF. Et avoir une grille avec plusieurs colonnes

Quelle est la meilleure façon de définir la couleur du sol de la colonne de la grille dans WPF?


0 commentaires

3 Réponses :


7
votes

une manière:

Créer un rectangle et définissez son remplissage sur la couleur de votre choix.
Puis définissez sa valeur de grille.rowspan sur un grand nombre ou le nombre de lignes que vous avez.


3 commentaires

Sera-ce transparent? Je veux dire que j'ai des valeurs dans cette colonne.


Oui, tout le contenu que vous placez dans vos cellules de grille doit être rendu devant votre rectangle. Vous pouvez également ajuster la transparence de votre rectangle dans l'éditeur de propriétés Visual Studio et modifier la valeur A dans la section de sélection RGBA.


Ou simplement vous pouvez ajouter une nouvelle grille dans chacune des colonnes et utiliser leur propriété de fond



20
votes

La réponse de DABT125 était parfaite mais de vous donner un échantillon et de mentionner une note qu'il est important de placer votre rectangle Voir le code:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>

    <!--  this is not a good place for text block.
          the text block is beneath the rectangle  
          so it would not be seen  -->
    <!--<TextBlock Grid.Column="1"  Text="Some Text"/>-->

    <Rectangle Grid.Column="1" Grid.RowSpan="1000">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF83FF97" Offset="0" />
                <GradientStop Color="White" Offset="1" />
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>

    <TextBlock Grid.Column="1"  Text="Some Text"/>
</Grid>


0 commentaires

0
votes

Créez un rectangle et définissez son remplissage à la couleur de votre choix.

Seulement avoir: xxx

fonctionne pour moi.

Le Grid.rowspan des réponses précédentes est en fait inutile et la branche linéargradientbrush démontrée est trop compliquée pour ce qui est demandé.


1 commentaires

Je ne vois pas comment cela répond à la question en haut de cette page, mais cela devrait. S'il vous plaît Modifier selon Comment répondre ou supprimer la réponse. Sinon, il risque d'être signalé comme "pas une réponse" et être supprimé.