2014-08-27 88 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

相關問題