title: WPF, update TextBlock when CheckBox checked
body: <p>I have a <code>TreeView</code> where each item has a checkbox.  I want a <code>TextBlock</code> to be updated whenever an item is checked or unchecked in the <code>TreeView</code>.  The <code>TextBlock</code>'s <code>Text</code> should be bound to the <code>CheckedVersions</code> property on my <code>DataContext</code> so that when I read the <code>CheckedVersions</code> property, it gives me a string representing all the checked items in the <code>TreeView</code>.  The checked items should be represented in a semicolon-separated string.  What would be the best way to do this?  I have the following XAML:</p>
  
  <pre><code>&lt;XmlDataProvider Source="XmlData/Versions.xml" XPath="//*[count(*)=0]"
                   x:Key="versionsXml"
                   IsInitialLoadEnabled="True" IsAsynchronous="False" /&gt;
  &lt;HierarchicalDataTemplate x:Key="versionTemplate"&gt;
      &lt;CheckBox Focusable="False" IsChecked="{Binding Path=IsChecked}"
                Content="{Binding Path=Name, Mode=OneTime}"/&gt;
  &lt;/HierarchicalDataTemplate&gt;
  &lt;TreeView x:Name="trv_version"
            ItemsSource="{Binding Path=Versions, Mode=OneWay}"
            ItemTemplate="{StaticResource versionTemplate}" /&gt;
  &lt;TextBlock x:Name="txb_version" Text="{Binding Path=CheckedVersions}"
             TextWrapping="Wrap" /&gt;
  </code></pre>
  
  <p>Each item in my <code>TreeView</code> is an instance of my <code>VersionViewModel</code> class, which implements <code>INotifyPropertyChanged</code> and notifies when the <code>IsChecked</code> property changes.  It seems like I should be able to hook into that so that when <code>IsChecked</code> changes on a <code>VersionViewModel</code> instance in the <code>TreeView</code>, <code>CheckedVersions</code> updates.  Maybe if I set <code>UpdateSourceTrigger</code> on the <code>Text</code> binding in the <code>TextBlock</code>?  What should I set it to, though?</p>