Change Visibility of one Control when it is changed on another one
<p>I got 3 Controls in my <code>XAML</code>. </p>

<p>If the <code>Visibility</code> from one of them changes to <code>Visible</code>, the others <code>Visibility</code> should change to <code>Hidden</code>. So that only one of them can be <code>Visible</code> at a time.</p>

<hr>

<p><strong>My Xaml</strong></p>

<pre><code>&lt;Control x:Name="Unselected"&gt;
     &lt;Control.Style&gt;
         &lt;Style TargetType="Control"&gt;
             &lt;Style.Triggers&gt;
                 &lt;DataTrigger Binding="{Binding ElementName=Selection, Path=Visibility}" Value="Visible"&gt;
                     &lt;Setter Property="Visibility" Value="Hidden" /&gt;
                 &lt;/DataTrigger&gt;
                 &lt;DataTrigger Binding="{Binding ElementName=Selected, Path=Visibility}" Value="Visible"&gt;
                     &lt;Setter Property="Visibility" Value="Hidden" /&gt;
                 &lt;/DataTrigger&gt;
             &lt;/Style.Triggers&gt;
         &lt;/Style&gt;
    &lt;/Control.Style&gt;
&lt;/Control&gt;

&lt;Control x:Name="Selection" Visibility="Hidden"&gt;
     &lt;Control.Style&gt;
          &lt;Style TargetType="Control"&gt;
              &lt;Style.Triggers&gt;
                  &lt;DataTrigger Binding="{Binding ElementName=Unselected, Path=Visibility}" Value="Visible"&gt;
                      &lt;Setter Property="Visibility" Value="Hidden" /&gt;
                 &lt;/DataTrigger&gt;
                 &lt;DataTrigger Binding="{Binding ElementName=Selected, Path=Visibility}" Value="Visible"&gt;
                     &lt;Setter Property="Visibility" Value="Hidden" /&gt;
                     &lt;/DataTrigger&gt;
              &lt;/Style.Triggers&gt;
          &lt;/Style&gt;
     &lt;/Control.Style&gt;
&lt;/Control&gt;

&lt;Control x:Name="Selected" Visibility="Hidden"&gt;
     &lt;Control.Style&gt;
         &lt;Style TargetType="Control"&gt;
             &lt;Style.Triggers&gt;
                 &lt;DataTrigger Binding="{Binding ElementName=Selection, Path=Visibility}" Value="Visible"&gt;
                     &lt;Setter Property="Visibility" Value="Hidden" /&gt;
                 &lt;/DataTrigger&gt;
                 &lt;DataTrigger Binding="{Binding ElementName=Unselected, Path=Visibility}" Value="Visible"&gt;
                     &lt;Setter Property="Visibility" Value="Hidden" /&gt;
                 &lt;/DataTrigger&gt;
             &lt;/Style.Triggers&gt;
         &lt;/Style&gt;
    &lt;/Control.Style&gt;
&lt;/Control&gt;
</code></pre>