Lets assume property Name is bind to TextBox in view like this.
private string name public string Name { get {return name;} set { name=value;
There is no recursion as far I understand.
1) TextBox updates the value using viewmodel property.
2) Viewmodel raises update, letting UI know that something changed
3) TextBox now updates himself to match the viewmodel value.