private void OnItemPropertyChanged(object sender, PropertyChangedEventArgs e) { var vm = sender.As <T>(); if (e.PropertyName == nameof(vm.IsSelected)) { if (vm.IsSelected) { _itemPicked?.Invoke(sender, EArg <T> .NewArg(vm)); } else { _itemUnpicked?.Invoke(sender, EArg <T> .NewArg(vm)); } } }