2016-04-06 24 views
0

DataGrid'ten belirli bir hücreye ulaşmak için HERE kodunu kullanırım ve çalışır. Ama bu kod sadece benim problemimin yarısını çözüyor. Öncelikle belirli hücreleri bulmak ve ön planı belirli bir renge değiştirmek istiyorum.DataGrid'den belirli bir hücre için önplanı nasıl değiştirebilirim C# wpf

İşte bunu yapmak için yöntemim. Ama ön plan değişmedi.

for (int i = 0; i < dataGrd.Items.Count; i++) 
{ 
    for (int j = 0; j < dataGrd.Columns.Count; j++) 
    { 
     DataGridCell cell = GetCell(i, j); 
     TextBlock tb = cell.Content as TextBlock; 

     if (j == 1) 
     { 
      double measure = double.Parse(tb.Text); 

      if (measure > 22.5) 
      { 
       cell.Foreground = Brushes.Red; 
      } 
     }  
    } 
} 

Ben çizgi cell.Foreground = Brushes.Red; çalıştıran ayıklayıcı ile başlamak ama sonuç görünce hiçbir hücre kırmızı ön plan vardır.

Xaml:

<DataGrid BorderThickness="0" Background="Transparent" Name="grdFilter" Width="900" MinHeight="430" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" ColumnWidth="*" ItemsSource="{Binding Datas}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="True" IsReadOnly="True"> 
       <DataGrid.Columns> 
        <DataGridTextColumn FontSize="13" FontStyle="Italic" Binding="{Binding Path=Date}" Header="{catel:LanguageBinding ResourceName=DateTimesSplashScreen}" /> 

        <DataGridTextColumn FontSize="13" FontStyle="Italic" Binding="{Binding Path=AirTemperatureValue}" Header="{catel:LanguageBinding ResourceName=SensorOneColorSettings}" /> 

        <DataGridTextColumn FontSize="13" FontStyle="Italic" Binding="{Binding Path=HumidityValue}" Header="{catel:LanguageBinding ResourceName=SensorTwoColorSettings}" /> 

        <DataGridTextColumn FontSize="13" FontStyle="Italic" Binding="{Binding Path=FluidTemperatureValue}" Header="{catel:LanguageBinding ResourceName=SensorThreeColorSettings}"> 
        </DataGridTextColumn> 

        <DataGridTextColumn FontSize="13" FontStyle="Italic" Binding="{Binding Path=LightValue}" Header="{catel:LanguageBinding ResourceName=SensorFourColorSettings}" /> 


       </DataGrid.Columns> 
      </DataGrid> 

DÜZENLEME: ben ön plan değiştirilir ancak yöntem bitirmek sonra kurtarmak değil bulmak sabit deneyin Şimdi zaman. Ön planda değişikliklerini nasıl kaydedebilirim?

+0

hows ur xaml kodu ile

cell.Foreground = Brushes.Red; 

değiştirin TextBlock ön plan rengi yerine Cell ön plan rengini değiştiriyor. Önplan ve tb.Foreground = Brushes.Red düzgün şekilde bağlanmışsa hile yapmalıdır. – MKMohanty

+0

dışındaki her şey için (int j = 0; j ASh

cevap

0

Ben onun binded .. hücreyi hows demek,

tb.Foreground = Brushes.Red; 
+0

Yine değişmedi –

İlgili konular