title: Visibility type-converter not being called
body: <p>I have a test WPF Window with the below XAML:</p>
  
  <pre><code>&lt;Window x:Class="WpfApplication2.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wpfApplication2="clr-namespace:WpfApplication2"
          xmlns:test="clr-namespace:WpfApplication2.Properties"
          DataContext="{Binding Path=TestClass}"
          Title="MainWindow" Height="350" Width="525" &gt;
  
      &lt;Window.Resources&gt;
          &lt;wpfApplication2:TestTypeConverter x:Key="TestConverter"/&gt;
      &lt;/Window.Resources&gt;
  
      &lt;Grid&gt;
          &lt;Grid Visibility="{Binding TestProperty, Converter={StaticResource TestConverter}, ConverterParameter='nottest'}"&gt;
              &lt;Label Content="Test Label"&gt;&lt;/Label&gt;
          &lt;/Grid&gt;
      &lt;/Grid&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>I have a test type-converter class which is below:</p>
  
  <pre><code>using System;
  using System.Globalization;
  using System.Windows.Data;
  
  namespace WpfApplication2
  {
      class TestTypeConverter : IValueConverter
      {
          public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
          {
              var valueToTest = (string) value;
              var parameterToCheck = (string) parameter;
  
              return valueToTest == parameterToCheck ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed;
          }
  
          public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
          {
              return value;
          }
      }
  }
  </code></pre>
  
  <p>TestClass is below:</p>
  
  <pre><code>using System.ComponentModel;
  using System.Runtime.CompilerServices;
  using WpfApplication2.Annotations;
  
  namespace WpfApplication2
  {
      public class TestClass : INotifyPropertyChanged
      {
          public TestClass()
          {
              TestProperty = "test";
          }
  
          private string _testProperty;
          public string TestProperty
          {
              get { return _testProperty; }
              set
              {
                  if (_testProperty == value)
                  {
                      return;
                  }
                  _testProperty = value;
                  OnPropertyChanged();
              }
          }
  
  
          public event PropertyChangedEventHandler PropertyChanged;
  
          [NotifyPropertyChangedInvocator]
          protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
          {
              var handler = PropertyChanged;
              if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
          }
      }
  }
  </code></pre>
  
  <p>The visibility property isn't being affected by the type-converter, and the Convert method itself isn't even being called (I have placed a breakpoint which is not being hit).</p>
  
  <p>What am I doing wrong?</p>
  
  <p>Thanks</p>