Recently I was scratching my head at this error from the .NET Framework
DataBinding: ‘MyApp.vo.customVO’ does not contain a property with the name ‘Name’
I was stumped because my custom VO class did in fact have a public property called Name. After many trials and tribulations I figured out that .NET didn’t like how I structured my custom class.
Here is what my original custom class looked like.
namespace MyApp.vo
{
public class customVO
{
public Int32 id = 0;
public DateTime time = new DateTime();
public string Name = string.Empty;
public string DeviceType = string.Empty;
public string ObjectIDs = string.Empty;
}
}
Luckily I have JetBrains ReSharper installed, and it suggested using C#’s Auto-Implemented properties. This is the one thing I hadn’t thought about trying, and it ended up being the fix! My new custom VO class now looks like this.
namespace MyApp.vo
{
public class customVO
{
public Int32 id { get; set; }
public DateTime time { get; set; }
public string DeviceType { get; set; }
public string ObjectIDs { get; set; }
public string Name { get; set; }
}
}
So if you find yourself running into this error while trying to DataBind a collection of custom classes to a ListBox or similar control, have a look at your custom class and see if you can convert it over to using auto-implement properties as well.
Now I’m not suggesting this is the only way to DataBind a List of custom classes to a ListBox, but it solved my problem and let me do direct databinding from my service call without having to do any pre-processing on my list.
Hope this helps someone else.

A foolish issue, but I lost much time on it!
Solved with this post, thanks a lot!
Yup, I have the same problem so I listed it here hoping to remember next time. Glad the post helped you out.
"I was stumped because my custom VO class did in fact have a public property called Name."
Actually, it didn't. It had a public variable called Name, not a public property. Properties and variables are completely different things, so the error message is very clear