Home > DeveloperSection > Forums > Access a property of IEnumerable
Jayden Bell
Jayden Bell

Total Post:105

Posted on    January-28-2014 11:43 PM

 C# C# 

 1 Reply(s)
 768  View(s)
Rate this:

I have a custom class for a combobox having following properties:

public IEnumerable<object> ItemsSource


    get { return (IEnumerable<object>)GetValue(ItemsSourceProperty); }



        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 ?

Pravesh Singh

Total Post:411

Posted on    January-29-2014 12:43 AM

Hi Jayden,

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.

Don't want to miss updates? Please click the below button!

Follow MindStick