title: How to bind ReactiveList<SomeObject> to WPF ListBox or ListView?
body: <p>I have a simple ViewModel:</p>
  
  <pre><code>public class SampleCollectionViewModel : ReactiveObject
      {
          public SampleCollectionViewModel()
          {
              this.Countries = new ReactiveList&lt;Country&gt;();
              this.Countries.Add(new Country { Name = "Andora" });
              this.Countries.Add(new Country { Name = "Aruba" });
              this.Countries.Add(new Country { Name = "Afganistan" });
              this.Countries.Add(new Country { Name = "Algeria" });
              this.Countries.Add(new Country { Name = "Argentina" });
              this.Countries.Add(new Country { Name = "Armenia" });
              this.Countries.Add(new Country { Name = "Antigua" });    
              //CountryNames.AddRange(this.Countries.Select(x =&gt; x.Name));
          }
  
          public ReactiveList&lt;Country&gt; Countries { get; set; }
          //public ReactiveList&lt;string&gt; CountryNames { get; set; }
      }
  </code></pre>
  
  <p>and a simple View:</p>
  
  <pre><code>public partial class SampleCollectionWindow : Window, IViewFor&lt;SampleCollectionViewModel&gt;
      {
          public SampleCollectionWindow()
          {
              InitializeComponent();
  
              this.ViewModel = new SampleCollectionViewModel();
  
  
              this.Bind(ViewModel, vm =&gt; vm.Countries, v =&gt; v.CountriesListBox.ItemsSource);
          }
  
          public SampleCollectionViewModel ViewModel { get; set; }
  
          object IViewFor.ViewModel
          {
              get { return ViewModel; }
              set { ViewModel = (SampleCollectionViewModel)value; }
          }
      }
  </code></pre>
  
  <p>When I run it I get:
   <code>exception Additional information: Can't two-way convert between ReactiveUI.ReactiveList``1[DemoReactiveUiWpf.SampleCollection.Country] and System.Collections.IEnumerable. To fix this, register a IBindingTypeConverter</code></p>
  
  <p>If I change 
  <code>this.Bind(ViewModel, vm =&gt; vm.Countries, v =&gt; v.CountriesListBox.ItemsSource);</code>
  to
  <code>this.OneWayBind(ViewModel, vm =&gt; vm.Countries, v =&gt; v.CountriesListBox.ItemsSource);</code>
  nothing happens with ListBox</p>
  
  <p>Later I'm going to expand this simple demo to have a command and async command to add new country to the model. </p>
  
  <p>Remove selected in <code>ListBox</code> / <code>ListView</code> items. </p>
  
  <p>Try filtering, sorting and other interesting operations that ReactiveUI offers.</p>
  
  <p>But as for now I just can't do simple binding... </p>
  
  <p>How to bind <code>ListBox</code> / <code>ListView</code> to <code>ReactiveList&lt;Country&gt;</code> and do common operations with ReactiveList + ListBox/ListView in the right way?</p>
  
  <p>Thank you!</p>