I have an ObservableCollection called **SelectedVNodes**' and it contains items from the ObservableCollection **VNodes**.

The **SelectedVNodes** should only contain nodes whose property `IsSelected = True`, otherwise if 'false' it shouldn't be in the list.

```
ObservableCollection<VNode> SelectedVNodes {...}
ObservableCollection<VNode> VNodes {...}

```

I've bound my property to maintain being updated on selection change by using this setter

```
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />

```

However that is about as far as I got. I do not know how to append/remove this item from the SelectedVNodes list based on this property changing.

Here is the VNode class

```
public class VNode : NotifyBase
{
    public string Name { get; set; }
    public int Age { get; set; }
    public int Kids { get; set; }

    private bool isSelected;
    public bool IsSelected
    {
        get { return isSelected; }
        set
        {
            Set(ref isSelected, value);
            Console.WriteLine("selected/deselected");
        }
    }
}

```

NotifyBase derives from INotifyPropertyChanged.