UpdateSourceTrigger PropertyChanged en IsChecked no se dispara en ItemsSource de ListBox of Checkboxes

Tengo un cuadro de lista en el que el origen del elemento contiene una Lista (de T) que tiene una propiedad booleana SelectedFlag. Mi modelo de vista está configurado como el DataContext de mi control de usuario y todo funciona como se esperaba, excepto que no puedo cambiar la propiedad incluso cuando se cambia una casilla de verificación.

Aquí está mi xaml ListBox

<ListBox x:Name="lstRole" ItemsSource="{Binding Path=FAccountFunctions, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="Id">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <CheckBox IsChecked="{Binding Path=SelectedFlag, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" />
                            <TextBlock Text="{Binding Path=FunctionDesc}" VerticalAlignment="Center" />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

Necesito llamar a mi función Filter () después de marcar una casilla de verificación y normalmente establecería UpdateSourcTrigger = PropertyChanged para que esto funcione.

Public Property FAccountFunctions As List(Of FunctionType)
        Get
            Return _faccountFunctions
        End Get
        Set(ByVal value As List(Of FunctionType))
            _faccountFunctions = value
            Filter()
        End Set
    End Property

The PropertyChangedEvent se está generando en la propiedad 'SelectedFlag' en la colección FAccountFunctions. ¿Cómo puedo generar un evento en la fuente de elementos cuando una de las propiedades SelectedFlag cambia?

Cambié mi propiedad FAccountFunctions a una ObservableCollection ... sin suerte.

Respuestas a la pregunta(1)

Su respuesta a la pregunta