EDIT: It's been pointed out that all the default control templates are available at MSDN which makes the below relevant, but I'll leave it here for interest.
Given an instance of a control you get serialize the markup for the control template using the System.Windows.Markup.XamlWriter class.
To get a control template:
string markup =  System.Windows.Markup.XamlWriter.Save(control.Template);
To get a complete dump (including triggers etc) of the control template use.
        StringBuilder markupBuilder = new StringBuilder();
        XmlWriter writer = XmlWriter.Create(markupBuilder);
        System.Windows.Markup.XamlDesignerSerializationManager manager = 
            new System.Windows.Markup.XamlDesignerSerializationManager(writer);
        manager.XamlWriterMode = System.Windows.Markup.XamlWriterMode.Value;
        // data grid named dataGrid1
        var template = dataGrid1.Template;
        System.Windows.Markup.XamlWriter.Save(dataGrid1.Template, manager);
        string markup = markupBuilder.ToString();
If you just looking to change the foreground color of the DataGrid when it's disabled, you should be able to use styles together with triggers rather than replacing the entire template.
<DataGrid>
    <DataGrid.Resources>
        <Style
            TargetType="{x:Type DataGridColumnHeader}">
            <Style.Triggers>
                <DataTrigger
                    Binding="{Binding IsEnabled, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
                    Value="False">
                    <Setter
                        Property="Foreground"
                        Value="Green" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
        <Style
            TargetType="{x:Type DataGridCell}">
            <Style.Triggers>
                <DataTrigger
                    Binding="{Binding IsEnabled, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
                    Value="False">
                    <Setter
                        Property="Foreground"
                        Value="Green" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.Resources>
    <!-- Column Definitions -->
</DataGrid>
Adding the above 2 styles to the DataGrid's resources collection will, set the foreground of each column header and data row cell to green when the DataGrid is disabled.