Решение Joe Dean выглядит интересным, но Вы думаете, что это стоит того - создают новый Список и цикл через все элементы только для избавлений от предупреждений?
(извините, не может добавить комментарий непосредственно к его решению по некоторым причинам)
Измените привязку на TemplateBinding. например,
<dg:DataGrid.RowStyle>
<Style TargetType="dg:DataGridRow">
<Setter Property="Background" Value="{TemplateBinding Background, Mode=OneTime}" />
</Style>
</dg:DataGrid.RowStyle>
Silverlight, начиная с версии 4, не поддерживает привязки в Setter Value. Существует обходной путь, реализованный в виде прикрепленного свойства: