Переключение привязки с привязкой - PullRequest
1 голос
/ 13 декабря 2011

У меня есть класс BlogStore, который содержит две наблюдаемые коллекции, например:

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}

и в управляющем коде у меня будет свойство зависимости.

может бытьконвертер может сделать трюк?

1 Ответ

2 голосов
/ 13 декабря 2011

Если вы обрабатываете BlogStore как ViewModel, тогда он открывает несколько других свойств.

Category, к которому вы привязываете то, что вы когда-либо управляли, чтобы выбрать категорию для отображения.

Также свойство CategoryBlogs, которое возвращает значение blogs или favourites в зависимости от значения Category.

Вы бы внедрили INotifyPropertyChanged, так что вы гарантировали бы, что событие PropertyChanged запускается для "CategoryBlogs" при изменении свойства Category.

Вы бы связали ItemsSource только с CategoryBlogs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...