Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.12.2018, 16:11
|
|||
---|---|---|---|
|
|||
Пример привязки ListBox из MSDN |
|||
#18+
Вот здесь показан пример привязки трёх ListBox https://docs.microsoft.com/ru-ru/dotnet/framework/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data#example Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
К сожалению, в примере нет больше ни чего. Мне не понятно как они отслеживают в зависимых ListBox изменения выделенного и текущего элемента в предыдущем. Ведь привязки к SelectedItem или CurrentItem нигде не указано. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.12.2018, 16:43
|
|||
---|---|---|---|
|
|||
Пример привязки ListBox из MSDN |
|||
#18+
IsSynchronizedWithCurrentItem="true" Синхронизация происходит через представление коллекции, у неё есть свойство CurrentItem (элемент который выбран в данный момент в ListBox) Вы можете получить представление по умолчанию с помощью метода CollectionViewSource.GetDefaultView(object). В качестве аргумента нужно передавать коллекцию, которые вы биндите к ItemsSource Получите ICollectionView тип, в нём и будет свойство и события, связанные с изменением CurrentItem. Так как дефолтное представление может быть для 2 элементов управления общим, имеет смысл создать свое (ListCollectionView) и забиндить его к ItemsSource свойству у ListBox. Тогда будет использованно именно оно. Вся остальная логика по обновлению элементов в связанных списках перекладывается на модель представления через событие: event CurrentChangingEventHandler CurrentChanging; Удачи :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.12.2018, 16:50
|
|||
---|---|---|---|
|
|||
Пример привязки ListBox из MSDN |
|||
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.12.2018, 16:54
|
|||
---|---|---|---|
|
|||
Пример привязки ListBox из MSDN |
|||
#18+
Roman MejtesIsSynchronizedWithCurrentItem="true" Синхронизация происходит через представление коллекции, у неё есть свойство CurrentItem (элемент который выбран в данный момент в ListBox) Вы можете получить представление по умолчанию с помощью метода CollectionViewSource.GetDefaultView(object). В качестве аргумента нужно передавать коллекцию, которые вы биндите к ItemsSource Получите ICollectionView тип, в нём и будет свойство и события, связанные с изменением CurrentItem. Так как дефолтное представление может быть для 2 элементов управления общим, имеет смысл создать свое (ListCollectionView) и забиндить его к ItemsSource свойству у ListBox. Тогда будет использованно именно оно. Вся остальная логика по обновлению элементов в связанных списках перекладывается на модель представления через событие: event CurrentChangingEventHandler CurrentChanging; Удачи :)Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.12.2018, 09:44
|
|||
---|---|---|---|
Пример привязки ListBox из MSDN |
|||
#18+
Roman Mejtes, в чем смысл работать именно с ICollectionView, когда можно прибиндить свойство SelectedItem от ListBox и в setter'е отслеживать его изменения, фильтруя соответственно значения других листбоксов? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=21&mobile=1&tid=1440367]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 262ms |
total: | 388ms |
0 / 0 |