When to use ListChanged, CurrentChanged, CurrentItemChanged, or DataSourceChanged

ListChanged event procedure:

The ListChanged event occurs when data in a list is:

  • Modified
  • Added
  • Deleted
  • If the data source or data member is changed

DataSourceChanged event procedure:

The DataSourceChanged event occurs only when the data source is changed.

The DataSourceChanged event does not occur:

  • With a modification of data member
  • When data is added to, deleted, modified in the data source

CurrentChanged event procedure:

This CurrentChanged event occurs when the current item changes.

  • This event may occur when the user navigates through the data
  • Does not change because the data in the list is modified.

CurrentItemChanged event procedure:

The CurrentItemChanged  event occurs:

  • For actions that cause the CurrentChanged event to occur
  • Also occurs when a modification of a property happens

Comments (1)

  1. CurrentItemChanged should not fire when navigating. For that we have CurrentChanged.

    This makes CurrentItemChanged useless to control if the user modifies something.

    Is not the same navigating than editing!

    Thanks for the info anyway.