title: ListBox change Opacity of unselected items when one is selected
body: <p>I have a list box with defined DataTemplate, Style and ItemContainerStyle.</p>
  
  <p>This list box have SelectionMode="Single".</p>
  
  <p>Initially all Items have <code>Opacity="0.7"</code>, when Item selected I make it <code>Opacity="1"</code></p>
  
  <pre><code>&lt;ListBox.ItemContainerStyle&gt; 
  &lt;Style TargetType="{x:Type ListBoxItem}"&gt; 
      &lt;Style.Setters&gt;
          &lt;Setter Property="Opacity" Value="0.7"/&gt;
      &lt;/Style.Setters&gt;
      &lt;Style.Triggers&gt; 
          &lt;DataTrigger Binding="{Binding IsEventLocked}" Value="False"&gt; 
              &lt;Setter Property="IsEnabled" Value="False"/&gt;
              &lt;Setter Property="Opacity" Value="0.2"/&gt;
          &lt;/DataTrigger&gt;
          &lt;Trigger Property="IsSelected" Value="True"&gt;
              &lt;Setter Property="Opacity" Value="1"/&gt;
          &lt;/Trigger&gt;
      &lt;/Style.Triggers&gt; 
  &lt;/Style&gt; 
  </code></pre>
  
  <p> </p>
  
  <p>But I also need make all other (unselected) items with <code>Opacity="0.2"</code> until Selected item will be unselected.</p>
  
  <p>In short: [Initial (Opacity=0.7)]->[ItemSelected = {(SelectedItem:Opacity=1), (All Unselected items: Opacity=0.2)}]->[Item Deselected (SelectedItem==null) =(Opasity=0.7)]</p>
  
  <p>Thanks for syggestions and ideas!</p>