Code sample for the WPF DataGrid.CellStyle topic

At the deadline for Visual Studio 10 Beta 1 content complete, I was madly trying to check in art and code for the DataGrid APIs.  I thought I got it all in but failed to click submit to actually finish uploading the code for CellStyle.  So if you are interested, here is a little sample code.  Using styles in DataGrid is an amazingly powerful way to accomplish a lot without writing much code. 

The following example uses a trigger to change the Background color of a DataGridCell when the cell is selected.

        <DataGrid Name="DG1" ItemsSource="{Binding}" SelectionUnit="Cell" >

            <DataGrid.CellStyle>

                <Style TargetType="DataGridCell" >

                    <Style.Triggers>

                        <Trigger Property="IsSelected" Value="True">

                            <Setter Property="Background" Value="SeaGreen"/>

                        </Trigger>

                    </Style.Triggers>

                </Style>

            </DataGrid.CellStyle>

        </DataGrid>

The ItemsSource is an ObservableCollection of Animal objects:

public class Animal

        {

            public Animal()

            {

            }

            public Animal(string name)

            {

                Name = name;

            }

            public string Name { get; set; }

        }

This code produces the following output.

A selected cell with a green background