WPF проверяет, есть ли у объекта данных привязка - PullRequest
0 голосов
/ 16 сентября 2009

Хей,

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

Я пытаюсь добиться этого, получая текст данных и анализируя ICollectionView для этого. Отсюда у меня есть доступ ко всем объектам через ICollectionView через SourceCollection, в котором я (пока) предполагаю, что сортировка / и фильтрация соблюдаются.

Проблема здесь в том, что я хочу выводить только те столбцы, которые также отображаются в ListView.

При выполнении итерации моей коллекции, есть ли функция, в которой я могу выполнить анализ, если свойство в классе (с уведомлением suppoert) имеет привязку к нему?

Самым простым решением на данный момент было бы просто вывести все свойства, но я не заинтересован в этом, так как на oid смотреть не интересно.

Спасибо за продвинутый.

/ Ian

Ответы [ 3 ]

2 голосов
/ 16 сентября 2009

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

Существует множество способов сделать это, но главное - иметь эту информацию под рукой в ​​вашей модели.

0 голосов
/ 16 сентября 2009

Нет простого способа сделать это ... Вы можете проверить привязку на целевой стороне (свойство зависимостей), но не на стороне источника.

Для того, что вы пытаетесь сделать, вы можете перебрать столбцы ListView и проверить их DisplayMemberBinding, но это может быть неопределенным (содержимое ячейки может быть определено с использованием свойства CellTemplate) .

0 голосов
/ 16 сентября 2009

Почему бы вам просто не взглянуть на шаблон данных и оценить его, включая привязку внутри?

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