Thank you,
I'll check it out
EDIT
So after little reading I found out the solution.
I need to prevent removing of programatically set filters, so I i filter FilterDescriptors to get only column types (those ae set by the user).
The trick to refresh distinct values checkboxes was to clear distinct filters before removing the filter from the collection.
I think it's a bug because removing the filters should update visual state of the controls (list of checkboxes)
I attached 2 videos
http://screencast.com/t/Jo57uFVPzxRY BAD using 1st v of code
http://screencast.com/t/s6bE7GRIdI7U GOOD using my workaround