我有一个包含产品类别的ItemsControl,还有一个包含当前选择的所有文章的列表的ItemsControl,我需要将当前选择的类别与ItemsControl文章的绑定关联起来
<ItemsControl ItemsSource="{Binding Path=Categories}">
...
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Path=CategorieCaption}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
...
</ItemsControl>
<ItemsControl ItemsSource="{Binding Path=SelectedCategories.Articles}">
...
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Path=ArticleCaption}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
...
</ItemsControl>发布于 2014-07-03 16:20:30
您只需在每次更改Category时更新数据绑定Article集合。如果使用ListBox.SelectedItem将属性添加到数据绑定中,则可以通过属性设置器执行此操作:
<ListBox ItemsSource="{Binding Categories}"
SelectedItem="{Binding SelectedCategory}" ... />。。
public Category SelectedCategory
{
get { return selectedCategory; }
set
{
if (selectedCategory != value)
{
selectedCategory = value;
NotifyPropertyChanged("SelectedCategory");
// Selected Category was changed, so update Articles collection
Articles = UpdateArticlesByCategory(selectedCategory);
}
}
}https://stackoverflow.com/questions/24548336
复制相似问题