Некоторые проблемы с привязкой данных WPF, но вы должны догадаться, что - PullRequest
1 голос
/ 09 июля 2009

Я пытаюсь реализовать событие изменения свойства (или какое-либо подходящее) в моем проекте wpf, и я пытаюсь найти лучший способ сделать это.

У меня есть этот заголовок, в котором есть значок раскрытия / свертывания, и в моем окне может быть несколько заголовков. Я хочу, чтобы значение по умолчанию было свернуто, когда все заголовки перечислены в начале, но когда пользователь раскрывает некоторые из заголовков (не все), когда я нажимаю кнопку «обновить» в моем окне, чтобы обновить заголовки, я хочу, чтобы он оставался прежним это было до того, как было обновлено.

Итак, если заголовки 1 и 2 были расширены, а 3 и 4 свернуты, когда нажата кнопка обновления, я хочу, чтобы она действительно помнила это. Проблема в том, что когда я нажимаю «обновить», обновляется весь вид, поэтому он теряет информацию.

Я пытаюсь создать в фактическом классе коллекцию, в которой размещены эти заголовки, для хранения информации, поэтому, когда заголовок развернут или свернут, он уведомит коллекцию о том, что развернутый / свернутый файл запущен, и я хочу обновить ее значение в коллекции, поэтому при нажатии кнопки обновления я могу сравнить ее с GUID, если заголовок уже присутствовал в представлении до обновления, обновить новый заголовок с сохраненной информацией развернуть / свернуть, так что даже после обновить, он будет держать это состояние.

1 Ответ

1 голос
/ 09 июля 2009

Для отдельных экземпляров классов, с которыми вы связаны, вы хотите реализовать интерфейс INotifyPropertyChanged.

Кроме того, в коллекции, в которой хранятся заголовки, вы захотите реализовать интерфейс INotifyCollectionChanged, чтобы указывать, когда изменяется сама коллекция.

Эти два интерфейса, если они реализованы правильно, должны обеспечивать правильную привязку ваших объектов (и коллекций, в которых они находятся) к системе привязки данных WPF.

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