title: Listbox IsSelected with SelectionMode=Extended
body: <p>Sorry for the vague title, I couldn't come up with a good way to summarize what is happening.</p>
  
  <p>I have a bound WPF listbox:</p>
  
  <pre><code>&lt;UserControl.Resources&gt;
      &lt;DataTemplate DataType="{x:Type local:MyBoundObject}"&gt;
          &lt;TextBlock Text="{Binding Label}" /&gt;
      &lt;/DataTemplate&gt;
  &lt;/UserControl.Resources&gt;
  
  &lt;ListBox ItemsSource="{Binding SomeSource}" SelectionMode="Extended"&gt;
      &lt;ListBox.ItemContainerStyle&gt;
          &lt;Style TargetType="{x:Type ListBoxItem}"&gt;
              &lt;Setter Property="IsSelected Value="{Binding Path=IsSelected, Mode=TwoWay}"/&gt;
          &lt;/Style&gt;
      &lt;/ListBox.ItemContainerStyle&gt;
  &lt;/ListBox&gt;
  </code></pre>
  
  <p>I want to operate on ONLY the selected items. I do this by iterating through a list of all items and checking each object to see if it's IsSelected property is set.</p>
  
  <p>This works except for when I have many items in the list (enough so they are not all visible) and I press CTRL-A to select all items. When I do this, all the visible items have their IsSelected property set to true, and all the rest are left false. As soon as I scroll down, the other items come into view and their IsSelected properties are then set to true.</p>
  
  <p>Is there any way to fix this behaviour so that every object's IsSelected property is set to true when I press CTRL-A?</p>