El cuadro de lista "IsSelected" enlace sólo funciona parcialmente

tengo unListBox que relleno dinámicamente a través de un enlace (esto se define en unaDataTemplate, por lo que la unión es algo inusual):

<ListBox SelectionMode="Extended" ItemsSource="{Binding DataContext.ResultList, RelativeSource={RelativeSource AncestorType=Window}}">
  <ListBox.ItemContainerStyle>
    <Style TargetType="{x:Type ListBoxItem}">
      <Setter Property="IsSelected" Value="{Binding IsSelected}"/>
    </Style>
  </ListBox.ItemContainerStyle>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Label Content="{Binding Object}"/>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

CadaListBoxItemesIsSelected la propiedad está vinculada a unaIsSelected propiedad en un objeto personalizado.

Cuando selecciono individualListBoxItems, el enlace funciona correctamente - el objeto personalizadoIsSelected La propiedad se actualiza en mi ViewModel. Sin embargo, si selecciono todos losListBoxItems con un comando Ctrl + A, solo el visible actualmenteListBoxItems (los que están actualmente en mi ventana de desplazamiento) actualizan sus enlaces ViewModel. En la parte frontal, todos losListBoxItems parecen estar seleccionados, y laListBox.SelectedItems.Count propiedad en el contenedorListBox muestra que todos los elementos están seleccionados.

Además, mientras me desplazo por laListBox después de seleccionar todoListBoxItems con Ctrl + A, los enlaces se actualizan con éxito cuando cada unoListBoxItem se desplaza a la vista.

¿Por qué esta unión parece estar funcionando solo parcialmente? ¿Hay una mejor manera de manejar la unión de laIsSelected propiedad cuando grandes cantidades deListBoxItems ¿Se puede seleccionar simultáneamente?

Editar: Este comportamiento no ocurre exclusivamente con el comando Ctrl + A: obtengo los mismos resultados al seleccionar todos los elementos con Mayús + clic.

Respuestas a la pregunta(1)

Su respuesta a la pregunta