Внутри DataGrid я бы хотел изменить цвет строк в соответствии с определенными условиями в ViewModel.
Хотя это кажется легкой задачей в WPF, в Silverlight вы не можете иметь привязки к свойствам в определениях стиля, но вы не сможете использовать RowBackground сетки данных.
Вместо этого мне пришлось изменить каждый заголовок столбца с DataGridTextColumn на DataGridTemplateColumn и создать собственное текстовое поле, обернутое сеткой. Там я бы привязал Background of Grid к условному выбору цвета в моей ViewModel.
Это все отлично работает. Однако у меня возникает проблема, когда я пытаюсь реплицировать DataGridCheckboxColumn в DataGridTemplateColumn. Также здесь я создаю флажок в сетке и могу соответствующим образом установить цвет, однако флажок может быть даже отмечен и выключен, даже если для сетки данных установлено значение Только для чтения. Флажок внутри, кажется, не заботится о состоянии чтения данных только для чтения.
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<CheckBox HorizontalAlignment="Center" VerticalAlignment="Center">
<CheckBox.IsChecked>
<Binding Path=Sales Mode="TwoWays"/>
<CheckBox.IsChecked>
</CheckBox>
</Grid>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
Кто-нибудь знает, почему и есть ли более эффективный способ сделать то, чего я пытаюсь достичь в Silverlight?
Большое спасибо,