2011-12-13 97 views
1

我有一個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} 

並在後面的控制代碼我會有一個依賴屬性。

也許一個轉換器可以做的伎倆?

回答

2

如果您將BlogStore視爲ViewModel,那麼它會暴露一些其他屬性。

Category您將綁定的控制權用於選擇要顯示的類別。

還有一個CategoryBlogs屬性,它返回值blogsfavourites,具體取決於值Category

您將實施INotifyPropertyChanged,因此當Category屬性發生更改時,您將確保爲「CategoryBlogs」激發PropertyChanged事件。

你會綁定ItemsSource只是CategoryBlogs

+0

我該如何將參數傳遞給ViewModel?我可以將一個屬性作爲ViewModel添加到blogStore中。 – 2011-12-14 09:07:51