title: WPF MVVM ListBox.ItemTemplate CheckBox IsChecked binding
body: <p>The scenario I'm working with is editing Roles and Permissions.  In a list box I want to list all defined Permissions and check the Permissions the selected Role has been assigned.  The Role selection occurs in a separate list.</p>
  
  <p>I have a simple view that contains a list box that displays all permissions:</p>
  
  <pre><code>&lt;ListBox             
      ...
      ItemsSource="{Binding AllPermissions}"&gt;
      &lt;ListBox.ItemTemplate&gt;
          &lt;DataTemplate&gt;
              &lt;CheckBox Content="{Binding DisplayName}" 
                        IsChecked="???"/&gt;
          &lt;/DataTemplate&gt;
      &lt;/ListBox.ItemTemplate&gt;
  &lt;/ListBox&gt;
  </code></pre>
  
  <p>The ItemsSource is one set of Permissions and the selected role's Permissions is a different set.  How would I bind the IsChecked value to the intersection of the sets (i.e., if the Permission in the ListBox is also in the selected role's Permissions then the box should be checked)?</p>