I want my WPF ComboBox's ItemsSource property to be bound to MyListObject's MyList property. The problem is that when I update the MyList property in code, the WPF ComboBox is not reflecting the update. I am raising the PropertyChanged event after I perform the update, and I thought WPF was supposed to automatically respond by updating the UI. Am I missing something?
Here's the CLR object:
Imports System.ComponentModel
Public Class MyListObject
    Implements INotifyPropertyChanged
    Private _mylist As New List(Of String)
    Public Sub New()
     _mylist.Add("Joe")
     _mylist.Add("Steve")
    End Sub
    Public Property MyList() As List(Of String)
     Get
      Return _mylist
     End Get
     Set(ByVal value As List(Of String))
      _mylist = value
     End Set
    End Property
    Public Sub AddName(ByVal name As String)
     _mylist.Add(name)
     NotifyPropertyChanged("MyList")
    End Sub
    Private Sub NotifyPropertyChanged(ByVal info As String)
     RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info))
    End Sub
    Public Event PropertyChanged(ByVal sender As Object, _
      ByVal e As System.ComponentModel.PropertyChangedEventArgs) _
      Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
End Class
Here is the XAML:
<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300"
    xmlns:local="clr-namespace:WpfApplication1"
     >
    <Window.Resources>
     <ObjectDataProvider x:Key="MyListObject" ObjectType="{x:Type local:MyListObject}"/>
    </Window.Resources>
     <Grid>
     <ComboBox Height="23"
         Margin="24,91,53,0"
         Name="ComboBox1"
         VerticalAlignment="Top" 
         ItemsSource="{Binding Path=MyList, Source={StaticResource MyListObject}}"
         />
     <TextBox Height="23"
        Margin="24,43,134,0"
        Name="TextBox1"
        VerticalAlignment="Top" />
     <Button Height="23"
       HorizontalAlignment="Right"
       Margin="0,43,53,0"
       Name="btn_AddName"
       VerticalAlignment="Top"
       Width="75">Add</Button>
    </Grid>
</Window>
And here's the simple code-behind:
Class Window1 
    Private obj As New MyListObject
    Private Sub btn_AddName_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) _ 
    Handles btn_AddName.Click
     obj.AddName(TextBox1.Text)
    End Sub
End Class
Thanks!