Необходимо связать со списком типа ObservableCollection, тогда каждое обновление коллекции списков будет запускать привязку для обновления.
Пример того, как создать наблюдаемую коллекцию из вашего списка:
public ObservableCollection<string> MyElements { get; set; }
public void FillList()
{
List<string> testList = new List<string>() {"string1", "string2"};
MyElements = new ObservableCollection<string>(testList);
}
MyElements.Add("string3")
вызовет привязку к обновлению
РЕДАКТИРОВАТЬ: я добавил рабочий пример, я предоставляю xaml и ViewModelCode с использованием команды acommand для добавления некоторых строк:
XAML:
<ListBox ItemsSource="{Binding MyStrings}" />
<Button Command="{Binding AddExtraStringCommand}" Content="Add ExtraString" />
viewmodel.cs
public class Window1ViewModel : ViewModelBase
{
public ObservableCollection<string> MyStrings { get; set; }
public RelayCommand AddExtraStringCommand { get; set; }
public Window1ViewModel()
{
patient = new Patient() { BirthdayString = "21/11" };
MyStrings = new ObservableCollection<string>() { "string1", "string2", "string3" };
AddExtraStringCommand = new RelayCommand(AddExtraString);
}
public void AddExtraString()
{
MyStrings.Add("nog enen extra om: " + DateTime.Now);
}
}
Мне не нужно запускать RaisePropertyChanged, чтобы заставить его работать. Может быть, вы можете проверить свой код в этом примере кода.