Nick
Nick

Reputation: 499

WPF Binding sub class to Listview

I have this class:

public class Car
{
    public struct CarType
    {
        public string Manufacturer { get; set; }
        public string Model { get; set; }
        public int Year { get; set; }
    }

    public CarType Type;
    public string LicenseNumber { get; set; }
    public int Km { get; set; }
}

To bind LicenseNumber or Km to my listview, I use:

<ListView.View>
    <GridView>
        <GridViewColumn Width="140" DisplayMemberBinding="{Binding LicenseNumber}">
            <GridViewColumn.Header>
                <GridViewColumnHeader Click="GridViewColumnHeader_Click">License Number</GridViewColumnHeader>
            </GridViewColumn.Header>
        </GridViewColumn>
   </GridView>
</ListView.View>

The command DisplayMemberBinding="{Binding LicenseNumber}" binds to LicenseNumber property.

But how to bind sub-class. like Type.Manufacturer? Type.Model?

Upvotes: 2

Views: 215

Answers (3)

kmatyaszek
kmatyaszek

Reputation: 19296

You should using following code:

<ListView.View>
    <GridView>
        <GridViewColumn Width="140" DisplayMemberBinding="{Binding Type.Manufacturer}">
           ...

Upvotes: 0

nvoigt
nvoigt

Reputation: 77285

You probably never tried.

<GridViewColumn Width="140" DisplayMemberBinding="{Binding Type.Manufacturer}">

Upvotes: 0

myermian
myermian

Reputation: 32505

You can bind to properties on instances as well (just use the dot notation that you are already familiar with):

<TextBlock Text="{Binding Path=Type.Manufacturer}" />

Upvotes: 1

Related Questions