title: WPF binding ObservableCollection with converter
body: <p>I have an ObservableCollection of strings and I'm tring to bind it with converter to ListBox and show only the strings that start with some prefix.<br>
  I wrote:</p>
  
  <pre><code>public ObservableCollection&lt;string&gt; Names { get; set; }
  
  public MainWindow()
  {
      InitializeComponent();
      Names= new ObservableCollection&lt;Names&gt;();
      DataContext = this;
  }
  </code></pre>
  
  <p>and the converter:</p>
  
  <pre><code>class NamesListConverter : IValueConverter
  {
      public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
          if (value == null)
              return null;
          return (value as ICollection&lt;string&gt;).Where((x) =&gt; x.StartsWith("A"));
      }
  
      public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
          return null;
      }
  }
  </code></pre>
  
  <p>and the XAML:</p>
  
  <pre><code>&lt;ListBox x:Name="filesList" ItemsSource="{Binding Path=Names, Converter={StaticResource NamesListConverter}}" /&gt;
  </code></pre>
  
  <p>but the listbox do not update after its beed update (add or remove).<br>
  I have notice that if I removes the converter from the binding its works perfectly.
  What is wrong with my code?</p>