You shouldn't really add a question to your question. You could edit your question to add the extra info.
Anyway, the answer to your problem lies in the fact that you've confused a notification of a change to the collection with a notification of a change to a property. The problem that you are facing is that you need to change ListProduct so that it implements INotifyPropertyChanged like this:
public class ListProduct : INotifyPropertyChanged
{
private string _productName;
private double _pricePerUnit;
private int _number;
private double _totalPrice;
public string ProductName
{
get { return _productName; }
set {
if (_productName != value)
{
_productName = value;
OnChanged("ProductName");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnChanged(string property)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(property));
}
}