title: WPF ListView Binding with UpdateSourceTrigger set to explicit strange behaviour
body: <p>I have a <code>ListView</code> with different <code>DataTemplate</code>s set up to bind. I want to update some of the columns (mix of textblock and progress bar) when I call <code>UpdateSource()</code> on a bindingexpression. I also want to update 1 of the columns when the property is changed which it is bound too.</p>
  
  <p>I was able to get the <code>PropertyChanged</code> behaviour to work. But whenever I change the property of one of the other columns they update straight await, instead of on the <code>UpdateSource</code> call. It would appear that its ignoring the <code>UpdateSourceTrigger</code> which is set in the xaml and is using the default behaviour.</p>
  
  <p>I have a class which implements the <code>INotifyPropertyChanged</code> interface.</p>
  
  <p>The xaml for the column I want to update explicitly looks like this:</p>
  
  <pre><code>&lt;GridViewColumn Width="300" Header="Percentage" DisplayMemberBinding="{Binding Percentage, UpdateSourceTrigger=Explicit}" /&gt;
  </code></pre>
  
  <p>And the xaml for one which I want to update on property change:</p>
  
  <pre><code>&lt;GridViewColumn Header="Status" Width="150" DisplayMemberBinding="{Binding Status, UpdateSourceTrigger=PropertyChanged}" /&gt;
  </code></pre>
  
  <p>My binding is set originally like so:</p>
  
  <pre><code>Binding downloadBinding = new Binding();
  
  downloadBinding.Source = _downloads;
  
  ListDownloads.SetBinding(ListView.ItemsSourceProperty, downloadBinding);
  </code></pre>
  
  <p>If I execute the following code:</p>
  
  <pre><code>_downloads[0].Percentage += 0.3;
  _downloads[0].FileSize = 700.00;
  _downloads[1].Percentage += 10;
  </code></pre>
  
  <p>The column percentage column is updated straight away, but I would expect it to wait for the call on UpdateSource().</p>
  
  <p>My code for updating the source is:</p>
  
  <pre><code>BindingExpression be = ListDownloads.GetBindingExpression(ListView.ItemsSourceProperty);
  be.UpdateSource();
  </code></pre>
  
  <p>Am I missing something? I can't find anything online or in a book about why this is happening.</p>
  
  <p>Cheers</p>