Q:

Binding ObservableCollection to listView - rows are there, but no content

I am trying to bind an Observablecollection to listView in WPF project. I created the collection like this:
    private ObservableCollection<Message> list = new ObservableCollection<Message>();

    public ObservableCollection<Message> List
    {
        get { return this.list; }
        set { this.list = value; }
    }

    public MainWindow()
    {
        InitializeComponent();

        //Sample messages
        List.Add(new Message("email1@gmail.com", "copy 1", "Subject 1", "BodyText 1", "john.doe@gmail.com", "27.11.2013"));
        List.Add(new Message("email2@gmail.com", "copy 2", "Subject 2", "BodyText 2", "john.doe@gmail.com", "27.11.2013"));
        List.Add(new Message("email3@gmail.com", "copy 3", "Subject 3", "BodyText 3", "john.doe@gmail.com", "27.11.2013"));
        List.Add(new Message("email4@gmail.com", "copy 4", "Subject 4", "BodyText 4", "john.doe@gmail.com", "27.11.2013"));
        List.Add(new Message("email5@gmail.com", "copy 5", "Subject 5", "BodyText 5", "john.doe@gmail.com", "27.11.2013"));

        this.DataContext = this;
    }

The class looks like this:
public class Message
{
    private string receiver;
    private string copy;
    private string subject;
    private string bodyText;
    private string sender;
    private string date;

    public Message(string receiver,
                     string copy,
                     string subject,
                     string bodyText,
                     string sender,
                     string date)
    {
        receiver = this.receiver;
        copy = this.copy;
        subject = this.subject;
        bodyText = this.bodyText;
        sender = this.sender;
        date = this.date;
    }

    public string Receiver
    {
        get { return this.receiver; }
        set { this.receiver = value; }
    }
    public string Copy
    {
        get { return this.copy; }
        set { this.copy = value; }
    }
    public string Subject
    {
        get { return this.subject; }
        set { this.subject = value; }
    }
    public string BodyText
    {
        get { return this.bodyText; }
        set { this.bodyText = value; }
    }
    public string Posiljatelj
    {
        get { return this.sender; }
        set { this.sender = value; }
    }
    public string Date
    {
        get { return this.date; }
        set { this.date = value; }
    }
}

And the XAML part:
       <ListView x:Name="listLstView" ItemsSource="{Binding Path=List}" HorizontalAlignment="Left" Height="316" Margin="232,42,0,0" VerticalAlignment="Top" Width="734">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Subject" Width="250" DisplayMemberBinding="{Binding Path=Subject}"/>
                    <GridViewColumn Header="Sender" Width="250" DisplayMemberBinding="{Binding Path=Sender}"/>
                    <GridViewColumn Header="Date" Width="230" DisplayMemberBinding="{Binding Path=Date}"/>
                </GridView>
            </ListView.View>
        </ListView>

When i put my mouse pointer in ListView area, 5 rows are there (atleast they change color when hover), but no data or any kind of text. Where did i go wrong?

A:

First of all I do not believe Path is necessary because you have already defined your ItemsSource. 
Second of all, your constructor should be :
this.receiver = receiver;
this.copy = copy;
this.subject = subject;
this.bodyText = bodyText;
this.sender = sender;
this.date = date;

you have this. in the wrong side of the equal sign.
Lastly, make sure your properties are named correctly, I see Sender is named wrong in your Message class.
public string Posiljatelj // <- that should be named Sender
    {
        get { return this.sender; }
        set { this.sender = value; }
    }

You have one of your columns in your xaml binded to Sender but yet you don't have a Sender in your Message class.

