Как настроить триггер данных для выбора\отмены выбора элементов списка?

Эта проблема мучает меня некоторое время, и я просто не могу решить ее правильно. У меня есть несколько списков, каждый из которых привязан к разным спискам. В конце концов, я просто хочу сохранить его, чтобы во всех списках за раз выбирался только один элемент. Любые идеи?

Это должно быть очень просто, но мне не повезло. Я попробовал идею gloabl\static DependencyObject для сопоставления с каждым свойством Tag ListBoxItem, но у меня возникли проблемы с запуском datatrigger для каждого списка при обновлении значения.

Например, если моя форма имеет разные ListBox, каждый со своими собственными коллекциями резервных списков и своими собственными DataTemplates, я хочу иметь возможность выбрать элемент из одного списка и сделать его единственным выбранным элементом. Это означает, что я хочу, чтобы другие отменили выбор. Я попытался привязать свойство ListBoxItem IsSelected к MultiBinding, которое сравнивает уникальное значение ListBoxItem с глобальным значением, но мне не повезло.

Насколько я понимаю, IsSynchronizedWithCurrentItem работает для списков, использующих одну и ту же резервную коллекцию.


person NullRef    schedule 26.02.2011    source источник
comment
вам нужно будет подробнее остановиться на том, чего именно вы хотите достичь: пробовали ли вы использовать IsSynchronizedWithCurrentItem   -  person Markus Hütter    schedule 26.02.2011


Ответы (1)


хорошо, вот попробуй:

получить collectionviewsource.View каждого из ваших списков (если вы еще не используете их, получить представления по умолчанию). В представлении вы можете подписаться на CurrentChanged и там друг для друга списки CollectionViewSource.View.MoveCurrentToPosition< /а>(-1);

person Markus Hütter    schedule 27.02.2011