我对 WPF 非常陌生,并感谢您的帮助:
Model:
Collection<Presenter>,
Presenter has a Collection<Presentation>,
Presentation has a TeachingSession property (which contains a DateTime? property)
我正在尝试显示树视图:
presenter name
[combobox of available Dates]
目前,树视图中的每个演示者姓名都正确显示,并且展开的第一个父项显示具有正确选择日期的组合框。但是,在任何时候显示的组合框都是“同步的”——即更改组合框中的值(或扩展不同的树视图项)会更改所有可见的组合框的值,因此它们都显示相同的日期。
<TreeView Name="PresenterTreeView" ItemsSource="{Binding}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:Presenter}"
ItemsSource="{Binding Path=Presentations}">
<TextBlock Text="{Binding Path=FullName}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:Presentation}">
<ComboBox SelectedItem="{Binding Path=TeachingSession, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="SessionDate"
ItemsSource="{Binding Source={StaticResource availableDatesViewSource}}" >
</ComboBox>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>