title: How to improve performance of Wpf DataGrid for high frequency cell updates (.net 4.5)?
body: <p>I am using a DataGrid control on a WPF Desktop application developed with C# 4.5. This datagrid has 150 rows and 5 colums. Each cell is updated about 2-3 times per minute using BeginInvoke with DispatcherPriority.Background. Here's the code snippet of the DataGrid:</p>
  
  <pre><code>&lt;DataGrid ItemsSource="{Binding Simulations, IsAsync=True}" AutoGenerateColumns="False" CanUserDeleteRows="False" CanUserAddRows="False" CanUserResizeColumns="True"
                  ColumnWidth="*" CanUserResizeRows="True" CanUserReorderColumns="False" SelectedItem="{Binding SelectedSimulation}" 
                        EnableRowVirtualization="True"
                        EnableColumnVirtualization="True"&gt;
                  &lt;DataGrid.Columns&gt;
                      &lt;DataGridTextColumn Header="Nome do Cenario Geológico" IsReadOnly="True" Binding="{Binding Path=GeologicalScenarioName, UpdateSourceTrigger=PropertyChanged, IsAsync=True}" /&gt;
                      &lt;DataGridTextColumn Header="Estado da Simulação" IsReadOnly="True" Binding="{Binding Path=JobStatus, UpdateSourceTrigger=PropertyChanged}" /&gt;
                      &lt;DataGridHyperlinkColumn Header="Link para pasta de trabalho" IsReadOnly="True" Binding="{Binding Path=LocalFolderPath, IsAsync=True}"&gt;
                          &lt;DataGridHyperlinkColumn.ElementStyle&gt;
                              &lt;Style&gt;
                                  &lt;EventSetter Event="Hyperlink.Click" Handler="SimulationHyperlinkClick"/&gt;
                              &lt;/Style&gt;
                          &lt;/DataGridHyperlinkColumn.ElementStyle&gt;
                      &lt;/DataGridHyperlinkColumn&gt;
                      &lt;DataGridTemplateColumn&gt;
                          &lt;DataGridTemplateColumn.CellTemplate&gt;
                              &lt;DataTemplate&gt;
                                  &lt;Button IsEnabled="{Binding Path=CanCancelSimulation, UpdateSourceTrigger=PropertyChanged, IsAsync=True}" Click="ButtonBaseOnClickSim"&gt;Cancelar Simulação&lt;/Button&gt;
                              &lt;/DataTemplate&gt;
                          &lt;/DataGridTemplateColumn.CellTemplate&gt;
                      &lt;/DataGridTemplateColumn&gt;
                      &lt;DataGridTextColumn Header="Tempo" IsReadOnly="True" Binding="{Binding Path=TimeRunning, UpdateSourceTrigger=PropertyChanged, IsAsync=True}" /&gt;
                  &lt;/DataGrid.Columns&gt;
              &lt;/DataGrid&gt;
  </code></pre>
  
  <p>The problem is that the UI is unresponsive due to the number of updates. Can someone give me a clue to how to improve the performance?</p>
  
  <p>Thankx</p>