MaterialDesignInXAML / MaterialDesignInXAML/MaterialDesignInXamlToolkit

The DialogHost. Show() method affects the rendering speed of the UI when multiple rows are selected in the DataGrid

Open
#3,336 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug dialoghost
Dominant language
C#
Stars
16.3k
Forks
3.5k
Avg merge
1d 22h
Merged PRs (30d)
8

Description

### Bug explanation

After using the DialogHost. Show() method, if multiple rows (over 10000 rows) are selected in the DataGrid, it will seriously affect the rendering speed of the UI. At present, I have found this issue on many computers. If the DataGrid data exceeds tens of thousands of rows, when performing a select all operation, the UI may even lag for more than ten seconds. The same amount of data results in a fast rendering speed before using the DialogHost. Show() method. Visual Studio performance probe analysis was used and it was found that the stuck time was used for GC.

### Version

4.9.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the slowdown with DialogHost.Show() and a WPF DataGrid containing more than 10,000 rows, comparing select-all behavior before and after showing the dialog. Use the Visual Studio performance profiler to confirm the GC-related rendering delay. Done means the large-selection operation no longer incurs the reported multi-second UI lag.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.