Improve treeview behavior with checkboxes