В ответ Джейсона я полагаю, что вы не реализуете интерфейс INotifyPropertyChanged для свойства IsGroupVisible в классе Items, измените класс Items следующим образом:
public class Items:ViewModelBase
{
private bool _IsNameVisible;
public bool IsNameVisible
{
get { return _IsNameVisible; }
set
{
_IsNameVisible = value;
RaisePropertyChanged("");
}
}
private bool _IsGroupVisible;
public bool IsGroupVisible
{
get
{ return _IsGroupVisible; }
set
{
_IsGroupVisible = value;
RaisePropertyChanged("IsGroupVisible");
}
}
public string ItemName { get; set; }
public string ItemGroup { get; set; }
}
Класс ViewModelBase реализует INotifyPropertychanged, чтобы уведомить данные изменились.
public class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
И вы установили lstItems.ItemsSource = itemsObs, но вы изменили verseObs, то есть verseObs, я думаю, вы должны изменить itemsObs.