我有一个BlogStore类,它包含两个observablecollections,如此
public class BlogStore {
public ObservableCollection<Blog> blogs ...
public ObservableCollection<Blog> favourites ...
}
public BlogStore blogStore ...
不,我想重用一个执行以下绑定的控件
ItemsSource="{Binding blogStore.blogs}
所以我可以切换到favourites
,以下不起作用,但我想要一些类似的东西。
ItemsSource={Binding blogStore{Binding category, ElementName=blogControl}
在后面的控件代码中我会有一个依赖属性。
也许转换器可以做到这一点?
答案 0 :(得分:2)
如果您将BlogStore
视为ViewModel,那么它会暴露其他几个属性。
Category
您绑定了用于选择要显示的类别的控件。
也是CategoryBlogs
属性,根据blogs
的值返回favourites
或Category
的值。
您将实现INotifyPropertyChanged
,以便在PropertyChanged
属性发生更改时确保为“CategoryBlogs”触发Category
事件。
您只需将ItemsSource
绑定到CategoryBlogs
。