Réglage de la Colonne de Fond en WPF ListView/Gridview

Je suis à la recherche pour définir l'arrière-plan d'une colonne dans un WPF GridView. Beaucoup de résultats de Google ont pointé vers le réglage de la GridViewColumn.CellTemplate pour modifier l'apparence d'une colonne. Par contre, j'ai rencontré un problème lors de la définition de la couleur d'arrière-plan; c'est de ne pas étirer pour remplir la cellule:

Réglage de la Colonne de Fond en WPF ListView/Gridview

Voici le code xaml, je travaille avec:

<Window x:Class="ScratchPadWpf.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Window1" Width="300" Height="300">
  <Grid>
    <ListView ItemsSource="{Binding}">
      <ListView.View>
        <GridView>
          <GridViewColumn>
            <GridViewColumn.CellTemplate>
              <DataTemplate>
                <Grid Background="Red">
                  <TextBlock Text="{Binding FirstName}"/>
                </Grid>
              </DataTemplate>
            </GridViewColumn.CellTemplate>  
          </GridViewColumn>
          <GridViewColumn>
            <GridViewColumn.CellTemplate>
              <DataTemplate>
                <Grid Background="Yellow">
                  <TextBlock Text="{Binding LastName}"/>
                </Grid>
              </DataTemplate>
            </GridViewColumn.CellTemplate>  
          </GridViewColumn>
        </GridView>
      </ListView.View>
    </ListView>
  </Grid>
</Window>

Et le code xaml.cs pour faire bonne mesure:

public partial class Window1 : Window
{
  public Window1()
  {
    InitializeComponent();
    DataContext = new[]
    {
      new {FirstName = "Jim", LastName = "Bob"},
      new {FirstName = "Frank", LastName = "Smith"},
      new {FirstName = "Tooth", LastName = "Paste"},
    };
  }
}

Réglage de la DataTemplate de la Grille de la largeur et de la hauteur pour être plus grand que la cellule avec une marge négative peut produire un résultat serré, mais si vous redimensionnez la colonne, le problème se manifeste de nouveau.

<Grid Background="Yellow" Height="22" Width="50" Margin="-6">

Réglage de la Colonne de Fond en WPF ListView/Gridview

Est-il un moyen de remplir la cellule avec de la couleur?

OriginalL'auteur statenjason | 2009-09-04