I have a custom class for a combobox having following properties:
public IEnumerable<object> ItemsSource
{
    get { return (IEnumerable<object>)GetValue(ItemsSourceProperty); }
    set
    {
        SetValue(ItemsSourceProperty, value);
    }
}
public string DisplayMemberPath
{
    get { return (string)GetValue(DisplayMemberPathProperty); }
    set { SetValue(DisplayMemberPathProperty, value); }
}
where ItemsSourceProperty,DisplayMemberPathProperty are the dependency properties already registered.
Now if ItemSource has a list of custom objects :{id int, name string}. and DisplayMemberPath has value:'name' or 'id'. How can I access 'name' or 'id' properties of my object ?
       `
 
  
                     
                        
It's not entirely clear why you need to do this binding yourself (when WPF does a lot of this for you), but this might work:
foreach (object item in ItemsSource)
{
    var property = item.GetType().GetProperty(DisplayMemberPath);
    var value = property.GetValue(item, null);
    // Use the value here
}
Note that this will be pretty slow, and will only handle a single property name (rather than a full path). There are more complex alternatives which would perform better, but I'd probably go with the simplest approach first.
 
                    See more on this question at Stackoverflow