|
Пример привязки 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:11 |
|
Пример привязки ListBox из MSDN
|
|||
---|---|---|---|
#18+
IsSynchronizedWithCurrentItem="true" Синхронизация происходит через представление коллекции, у неё есть свойство CurrentItem (элемент который выбран в данный момент в ListBox) Вы можете получить представление по умолчанию с помощью метода CollectionViewSource.GetDefaultView(object). В качестве аргумента нужно передавать коллекцию, которые вы биндите к ItemsSource Получите ICollectionView тип, в нём и будет свойство и события, связанные с изменением CurrentItem. Так как дефолтное представление может быть для 2 элементов управления общим, имеет смысл создать свое (ListCollectionView) и забиндить его к ItemsSource свойству у ListBox. Тогда будет использованно именно оно. Вся остальная логика по обновлению элементов в связанных списках перекладывается на модель представления через событие: event CurrentChangingEventHandler CurrentChanging; Удачи :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 16:43 |
|
Пример привязки ListBox из MSDN
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 16:50 |
|
Пример привязки ListBox из MSDN
|
|||
---|---|---|---|
#18+
Roman MejtesIsSynchronizedWithCurrentItem="true" Синхронизация происходит через представление коллекции, у неё есть свойство CurrentItem (элемент который выбран в данный момент в ListBox) Вы можете получить представление по умолчанию с помощью метода CollectionViewSource.GetDefaultView(object). В качестве аргумента нужно передавать коллекцию, которые вы биндите к ItemsSource Получите ICollectionView тип, в нём и будет свойство и события, связанные с изменением CurrentItem. Так как дефолтное представление может быть для 2 элементов управления общим, имеет смысл создать свое (ListCollectionView) и забиндить его к ItemsSource свойству у ListBox. Тогда будет использованно именно оно. Вся остальная логика по обновлению элементов в связанных списках перекладывается на модель представления через событие: event CurrentChangingEventHandler CurrentChanging; Удачи :)Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 16:54 |
|
Пример привязки ListBox из MSDN
|
|||
---|---|---|---|
#18+
Roman Mejtes, в чем смысл работать именно с ICollectionView, когда можно прибиндить свойство SelectedItem от ListBox и в setter'е отслеживать его изменения, фильтруя соответственно значения других листбоксов? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2018, 09:44 |
|
|
start [/forum/search_topic.php?author=SPNewbie&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 10660ms |
total: | 10811ms |
0 / 0 |