У меня есть TreeView
, где у каждого элемента есть флажок. Я хочу, чтобы TextBlock
обновлялся всякий раз, когда элемент отмечен или не отмечен в TreeView
. * Text
TextBlock
должен быть привязан к свойству CheckedVersions
в моем DataContext
, чтобы при чтении свойства CheckedVersions
получала строку, представляющую все отмеченные элементы в TreeView
. Проверенные элементы должны быть представлены в строке через точку с запятой. Каков был бы лучший способ сделать это? У меня есть следующий XAML:
<XmlDataProvider Source="XmlData/Versions.xml" XPath="//*[count(*)=0]"
x:Key="versionsXml"
IsInitialLoadEnabled="True" IsAsynchronous="False" />
<HierarchicalDataTemplate x:Key="versionTemplate">
<CheckBox Focusable="False" IsChecked="{Binding Path=IsChecked}"
Content="{Binding Path=Name, Mode=OneTime}"/>
</HierarchicalDataTemplate>
<TreeView x:Name="trv_version"
ItemsSource="{Binding Path=Versions, Mode=OneWay}"
ItemTemplate="{StaticResource versionTemplate}" />
<TextBlock x:Name="txb_version" Text="{Binding Path=CheckedVersions}"
TextWrapping="Wrap" />
Каждый элемент в моем TreeView
является экземпляром моего VersionViewModel
класса, который реализует INotifyPropertyChanged
и уведомляет об изменении свойства IsChecked
. Кажется, я должен быть в состоянии подключиться к этому, чтобы при изменении IsChecked
на экземпляре VersionViewModel
в обновлениях TreeView
, CheckedVersions
. Может быть, если я установлю UpdateSourceTrigger
в привязке Text
в TextBlock
? Что мне установить, хотя?