我有一個TreeView
其中每個項目都有一個複選框。我希望TextBlock
在TreeView
中的某個項目被選中或取消選中時被更新。 TextBlock
的Text
應該綁定到我的DataContext
上的CheckedVersions
屬性,以便當我讀取CheckedVersions
屬性時,它會給我一個表示TreeView
中所有已檢查項目的字符串。檢查的項目應該用分號分隔的字符串表示。什麼是最好的方法來做到這一點?我有以下XAML:WPF,當CheckBox檢查時更新TextBlock
<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
?但是,我應該怎麼設置?