title: ToggleButton Group with zero or one toggle button checked
body: <p>I want to create a group of togglebuttons that zero or one toggle button checked at a time.</p>
  
  <p>If i use a radiobutton with togglebutton style then atleast one togglebutton will be checke at a specifiec time and I want to allow the option that no togglebutton will be checked.</p>
  
  <p>I created the following style to a togglebutton and the following togglebuttons but for some reason
  the togglebutton doesn't change the ischecked property when invoked.</p>
  
  <pre><code>&lt;Window x:Class="ClearMvvmDeltaItem.MainWindow"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Model="clr-namespace:ClearMvvmDeltaItem.Model" Title="MainWindow"
      Height="300"
      Width="300"
      DataContext="{Binding Main, Source={StaticResource Locator}}"&gt;
  &lt;Window.Resources&gt;
      &lt;Model:NotConverter x:Key="NotConverter" /&gt;
      &lt;Style TargetType="{x:Type CheckBox}"&gt;
          &lt;Style.Triggers&gt;
              &lt;DataTrigger Value="False"&gt;
                  &lt;DataTrigger.Binding&gt;
                      &lt;MultiBinding Converter="{StaticResource NotConverter}" UpdateSourceTrigger="PropertyChanged"&gt;
                          &lt;Binding RelativeSource="{RelativeSource Mode=Self}" Path="Name"&gt;&lt;/Binding&gt;
                          &lt;Binding Path="CurrentCheckedItem"&gt;&lt;/Binding&gt;
                      &lt;/MultiBinding&gt;
                  &lt;/DataTrigger.Binding&gt;
                  &lt;DataTrigger.Setters&gt;
                      &lt;Setter Property="Background" Value="Red"&gt;&lt;/Setter&gt;
                      &lt;Setter Property="IsChecked" Value="False"&gt;&lt;/Setter&gt;
                  &lt;/DataTrigger.Setters&gt;
              &lt;/DataTrigger&gt;
          &lt;/Style.Triggers&gt;
      &lt;/Style&gt;
  &lt;/Window.Resources&gt;
  &lt;Grid x:Name="LayoutRoot"&gt;
      &lt;Grid.RowDefinitions&gt;
          &lt;RowDefinition&gt;&lt;/RowDefinition&gt;
          &lt;RowDefinition&gt;&lt;/RowDefinition&gt;
          &lt;RowDefinition&gt;&lt;/RowDefinition&gt;
      &lt;/Grid.RowDefinitions&gt;
      &lt;CheckBox x:Name="first"  Content="First"
                    Command="{Binding FirstCheckedChanged}"  CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Name}" 
                    IsChecked="{Binding IsFirstChecked }" 
                    &gt;
  
      &lt;/CheckBox&gt;
      &lt;CheckBox x:Name="second" Command="{Binding SecondCheckedChanged}"  CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Name}" 
                    IsChecked="{Binding IsSecondChecked}"
                    Content="Second" 
                    Grid.Row="1"&gt;&lt;/CheckBox&gt;
          &lt;CheckBox x:Name="third" Content="Third" Grid.Row="2"
                    Command="{Binding ThirdCheckedChanged}"  CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Name}" 
                    IsChecked="{Binding IsThirdChecked}"
                    &gt;&lt;/CheckBox&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p></p>
  
  <p>Viewmodel command code:</p>
  
  <pre><code>FirstCheckedChanged = new RelayCommand&lt;string&gt;(newName =&gt;
          {
              if (_isFirstChecked)
                  CurrentCheckedItem = newName;
          });
          SecondCheckedChanged = new RelayCommand&lt;string&gt;(newName =&gt;
          {
              if (_isSecondChecked)
                  CurrentCheckedItem = newName;
          });
          ThirdCheckedChanged = new RelayCommand&lt;string&gt;(newName =&gt;
          {
              if (_isThirdChecked)
                  CurrentCheckedItem = newName;
          });
  </code></pre>
  
  <p>The datatrigger is invoked because i can see that the background color of the relevant togglebuttons changed to red but the ischecked property isn't affected at all.</p>
  
  <p>Thanks...</p>