title: WPF - Keep button enabled even in container is disabled
body: <p>I have a button in a ListBoxItem.  I want the button to stay enabled even if the list box Item is disabled.  Is this possible?</p>
  
  <p>Here is my style code for the listbox, listbox item and the button (called btnPick).</p>
  
  <pre><code>&lt;Window.Resources&gt;
   &lt;Style x:Key="CheckBoxListStyle" TargetType="ListBox"&gt;
    &lt;Style.Resources&gt;
     &lt;Style TargetType="ListBoxItem"&gt;
      &lt;Setter Property="Template"&gt;
       &lt;Setter.Value&gt;
        &lt;ControlTemplate TargetType="ListBoxItem"&gt;
         &lt;Grid ScrollViewer.CanContentScroll="True" Margin="2"&gt;
          &lt;Grid.ColumnDefinitions&gt;
           &lt;ColumnDefinition Width="20" /&gt;
           &lt;ColumnDefinition Width="50" /&gt;
           &lt;ColumnDefinition Width="*" /&gt;
           &lt;ColumnDefinition Width="30" /&gt;
          &lt;/Grid.ColumnDefinitions&gt;
          &lt;CheckBox VerticalAlignment="Center" Grid.Column="0" IsChecked="{Binding IsSelected,
             RelativeSource={RelativeSource TemplatedParent},
             Mode=TwoWay}" Name="chkSelectedCheckBox" /&gt;
          &lt;TextBlock VerticalAlignment="Center" Grid.Column="1" Margin="5,0,5,0" Text="{Binding Id}" /&gt;
          &lt;TextBlock VerticalAlignment="Center" Grid.Column="2" Margin="5,0,5,0" Text="{Binding Title}" /&gt;
  
          &lt;!--This is the one that I want to stay enabled somehow--&gt;
          &lt;Button HorizontalAlignment="Right" x:Name="btnPick" Grid.Column="3" Tag="{Binding Id}" Margin="5,0,5,0"/&gt;                     
         &lt;/Grid&gt;                                        
        &lt;/ControlTemplate&gt;                              
       &lt;/Setter.Value&gt;                                  
      &lt;/Setter&gt;                                        
      &lt;Style.Triggers&gt;
          &lt;DataTrigger Value="True"&gt;
              &lt;DataTrigger.Binding&gt;
                  &lt;MultiBinding Converter="{StaticResource DisableWorkItemConverter}"&gt;
                      &lt;Binding ElementName="MainForm" Path="PickedWorkItemID"/&gt;
                      &lt;Binding Path="Id"/&gt;
                      &lt;Binding ElementName="btnCreateLink" Path="IsClicked"&gt;&lt;/Binding&gt;
                  &lt;/MultiBinding&gt;
              &lt;/DataTrigger.Binding&gt;
              &lt;Setter Property="IsEnabled" Value="False"/&gt;
              &lt;Setter Property="loc:Main.IsCurrentItemEnabledChanged" Value="True"/&gt;
          &lt;/DataTrigger&gt;
      &lt;/Style.Triggers&gt;
     &lt;/Style&gt;                                           
    &lt;/Style.Resources&gt;                                  
   &lt;/Style&gt;                                             
  &lt;/Window.Resources&gt;                                   
  </code></pre>
  
  <p>Right now my Data Trigger sets IsEnabled for the whole line item.  Is it possible to somehow access the children of the ListBoxItem?</p>
  
  <p>Something like:</p>
  
  <pre><code>&lt;Setter Property="chkSelectedCheckBox.IsEnabled" Value="False"/&gt;
  </code></pre>
  
  <p>Is what I am looking for (but that does not work).  (I thought that TargetName might help me out, but that only works for DataTemplates.)</p>
  
  <p>Thanks for any help.</p>