Hi everybody. First of all, I've to admin that I'm absolutely new to WPF! I think I've a problem with WPF Bindings or "PropertyChanged" notifications...
I have this XAML with a TextBlock and a listView
<StackPanel Orientation="Horizontal">
                        <TextBlock Margin="2" Name="UpdatesOperationResultcaption" Text="Operation result:" FontSize="12" Foreground="SteelBlue" Grid.Column="1" Height="21" VerticalAlignment="Top" TextAlignment="Left" />
                        <TextBlock Margin="2" Name="UpdatesOperationResult" Text="{Binding Path=viewModelData.UploadProgressText}" FontSize="12" Foreground="SteelBlue" Grid.Column="1" Height="21" VerticalAlignment="Top" TextAlignment="Left" Width="134.431" />
                    </StackPanel>
                    <ListView Grid.Column="1" Margin="1" ItemsSource="{Binding Path= viewModelData.MyPendingTasks, diag:PresentationTraceSources.TraceLevel=High}" Name="TasksListView" SelectionMode="Multiple" BorderThickness="1" FontSize="11" Height="110" SelectionChanged="TasksListView_SelectionChanged">
                        <ListView.View>
                            <GridView>
                                <GridViewColumn Header="Task to execute" Width="350" DisplayMemberBinding="{Binding Path=taskFriendlyName,Converter={StaticResource debugConverter}, diag:PresentationTraceSources.TraceLevel=High}" />
                                <GridViewColumn Header="Value" Width="60" DisplayMemberBinding="{Binding Path=taskValuetoShow}" />
                            </GridView>
                        </ListView.View>
                    </ListView>
Then in the code behind I have this class which should manage the data to be shown...
public class ViewModelData : INotifyPropertyChanged
{
    int dummy = 0;
    private string uploadProgressString;
    private List<TaskToAccomplish> myPendingTasks = new List<TaskToAccomplish>();
    public ViewModelData()
    {
        uploadProgressString = "0 %";
        TaskToAccomplish tempTask = new TaskToAccomplish("TEST", "99 %", 0, "dummy", "dummy");
        myPendingTasks.Add(tempTask);
        tempTask = new TaskToAccomplish("TEST2", "100 %", 0, "dummy", "dummy");
        myPendingTasks.Add(tempTask);
    }
    public string UploadProgressText
    {
        get
        {
            return this.uploadProgressString;
        }
        set
        {
            if (value != this.uploadProgressString)
            {
                this.uploadProgressString = value;
                NotifyPropertyChanged("UploadProgressText");
            }
        }
    }
    public List<TaskToAccomplish> MyPendingTasks
    {
        get
        {
            return myPendingTasks;
        }
        set
        {
            myPendingTasks.Clear();
            foreach (TaskToAccomplish task in value)
            {
                myPendingTasks.Add(task);
            }
            NotifyPropertyChanged("MyPendingTasks");
            NotifyPropertyChanged("taskFriendlyName");
            NotifyPropertyChanged("taskValuetoShow");
            uploadProgressString = dummy.ToString();
            NotifyPropertyChanged("UploadProgressText");
            dummy++;
        }
    }
    protected void NotifyPropertyChanged(String propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
    public event PropertyChangedEventHandler PropertyChanged;
}
This is my situation: in the class constructor i put a couple of fake items just to show something on the screen (and possibly debug the bindings). At startup everything is fine. when I update my data setting a new value to the list the textblock bound to the uploadProgressString filed gets updated, while the listview is unaffected. in the output window I see that the PropertyChanged event reaches the ListView:
System.Windows.Data Warning: 91 : BindingExpression (hash=17842833): Got PropertyChanged event from ViewModelData (hash=8442299)
System.Windows.Data Warning: 97 : BindingExpression (hash=17842833): GetValue at level 1 from ViewModelData (hash=8442299) using RuntimePropertyInfo(MyPendingTasks): List1 (hash=63249743 Count=2)
System.Windows.Data Warning: 76 : BindingExpression (hash=17842833): TransferValue - got raw value List1 (hash=63249743 Count=2)
System.Windows.Data Warning: 85 : BindingExpression (hash=17842833): TransferValue - using final value List`1 (hash=63249743 Count=2)
But nothing about the GridViewColumn. Everytime thie event is risen my list getter is invoked, nevertheless the listview is not updated with the new values. Where's my mistake? Thankyou