2014-08-27 89 views
0

下面的代码在datagrid单元格中设置背景颜色,但是在滚动网格时。滚动的网格值正在改变。更改datagrid中单个单元格的样式WPF/C#

有人知道一个解决方案吗?

foreach (var item in dgrid.SelectedItems) 
      { 
       var row = this.dgDados.ItemContainerGenerator.ContainerFromItem(dgDados) as DataGridRow; 

       if (row == null) 
       { 
        dgDados.UpdateLayout(); 
        dgDados.ScrollIntoView(dgDados.Items.IndexOf(item)); 
        row = (DataGridRow)dgDados.ItemContainerGenerator.ContainerFromIndex(dgDados.Items.IndexOf(item)); 
       } 
       row.Background = corLinha; 
      } 
+0

可能通过使用MVVM并在**单元格模板**将“背景”绑定到值。请分享更多信息... – Pragmateek 2014-08-27 21:26:57

回答

0
<DataGridTextColumn Header="MyHeader" Binding="{Binding Path=MyPath, Converter={StaticResource MyConverter}" Width="Auto" IsReadOnly="True"> 
    <DataGridTextColumn.CellStyle> 
     <Style TargetType="DataGridCell"> 
      <Setter Property="Background" Value="Yellow" /> 
     </Style> 
    </DataGridTextColumn.CellStyle> 
</DataGridTextColumn> 
+0

感谢您发布解决方案,但试着解释您正在做什么来帮助提问者很好。他们通常会问,因为他们缺乏信息,不仅仅是解决方案。因此,对您的解决方案进行彻底(即使很简单)的描述是有帮助的 – 2017-06-15 04:10:49

相关问题