Hi you can have a bool flag like hasChanges which is false initially.and in the setter of your modifiable properties you set it true and after updating set it false again.and in CanExecute return this hasChanges instead of true. Suppose you have property Name
private bool hasChanges=false;
private string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
hasChanges = true;
Notify("Name");
}
}
private bool CanExecuteUpdateCommand(object obj)
{
return hasChanges;
}
private void UpdateExecute(object obj)
{
ClientModel.UpdateClient(_selectedClient);
hasChanges=false;
}
I hope you got an idea.