Dear Stackoverflowers :)
I'm trying to achive displaying the RowDetailsTemplate of a Silverlight DataGrid
depending on a bool
Property, bound to a CheckBox
Control's IsChecked
Property. Insinde of my RowDetailsTemplate there is a single custom UserControl
, containing further Controls.
Since the DataGrid
only allows a global setting (RowDetailsVisibilityMode
) Some code-behind is needed. I've implemented a solution based on Rorys Reply (and using a behaviour-technique) which actually works.
Unfortunately, The DataGrid
doesn't remember the individually shown or hidden Rows on sorting. The checkbox remains selected, but the Row collapses. Further, no event like "OnAfterSort" or something similar seems to exist, where i could "Refresh" the visibility settings in a loop.
Another idea was to bind the Visibility of my custom Details-UserControl
to the CheckBox bound value. This actually works (when settings RowDetailsVisibilityMode to "Visible"), but I'm not able to get rid of this weird behaviour: When the CheckBox is checked, the Detail Template expands and the detail UserControl appears. Nice. When the CheckBox is unchecked again, the UserControl disappears (Visibility is set to Collapsed
) but the Row doesn't collapse and the blank space remains (as it would be set to Hidden
not Collapsed
).
Do you have any ideas?
I hope it's ok I didn't post any code samples, the implementation is pretty easy and I believe that the problem doesn't actually lie in a coding mistake i made. You can setup a simple DataGrid quickly like in this perfect MSDN Example. Starting from here, it's easy to test both described behaviours!
Really big thanks in advance,
- Thomas