22 Aug 2019 11:02
GridView: Row with Background binding is not recycled when scrolled away from view while its ComboBoxColumn is in edit-mode
My requirement is to give certain rows in the GridView a background color that is read from the database (so it's not a fixed list of colors). I use the RowStyle with a binding to the Background property. When the bound property is null, I fall back on the Transparent color.
This transparent background in combination with a GridViewComboBoxColumn sometimes causes rows to "stick" to the top or bottom of the grid. To simulate this, a ComboBox in the grid must be opened, then you need to scroll up or down until the field is outside the viewport. In some cases, the row sticks to the top or the bottom. After inspecting the Visual Tree, it appears that the row is still part of the Visual Tree, even though it is outside the viewport. I have attached a video and a sample project where you can see and test this behavior.