title: WPF Checkbox IsEnabled Binding
body: <p>I'm afraid I have a dumb question that I can't seem to find an answer for.</p>
  
  <p>I'm trying to implement a filter for tags: it has a textbox that you can enter tags in, as well as Tagged and Untagged checkboxes.  I want that Untagged should become disabled if the textbox has any text in it.</p>
  
  <p>I thought this would be easy:</p>
  
  <p>My ViewModel:</p>
  
  <pre><code>private bool _untaggedEnabled = true;
  public UntaggedEnabled {
      get { 
          return _untaggedEnabled; 
      } set {
          _untaggedEnabled = value;
          OnPropertyChanged(nameof(UntaggedEnabled));
      } 
  }
  </code></pre>
  
  <p>My View's CodeBehind:
  (yes, I could do this in xaml alone, but if I were good at xaml I wouldn't be here!)</p>
  
  <pre><code>private void tagsList_TextChanged(object sender, TextChangedEventArgs e) {
      _viewModel.UntaggedEnabled = !string.IsNullOrWhiteSpace(tagsList.Text);
  }
  </code></pre>
  
  <p>And my View:</p>
  
  <pre><code>&lt;TextBox x:Name="tagsList" Text="{Binding TagsList}" /&gt;
  &lt;CheckBox Content="Untagged" IsEnabled="{Binding UntaggedEnabled}" IsChecked="{Binding Untagged} /&gt;
  </code></pre>
  
  <p>There's a bunch of other controls and bound properties in the component, all of which are working fine, except this <code>IsEnabled</code>.</p>
  
  <p>I can pepper debug outputs all over the place and everything is being updated accordingly, when it's supposed to, but nothing on the actual IsEnabled property.</p>
  
  <p>I've also added <code>Mode=TwoWay</code> and <code>UpdateSourceTrigger=PropertyChanged</code> to the IsEnabled xaml, to no avail.</p>
  
  <p>I feel like this should be really easy.  Can anyone see what I'm missing?</p>