It took me a few minutes to figure this out and Google was surprisingly unhelpful so hopefully this will be useful to others.

When databinding objects, only properties are available. To my dismay, simply making class fields public isn’t enough. Even though the field is right there, publicly accessible, the databinder acts as if it’s not.

Consider a class, Payment:

We might use this like so:

On databinding, this throws an error claiming that there’s no Amount available to bind.

Modify the class to encapsulate the field as a property like so:

Now, it works.