|
Как перейти с BindingList на ObservableCollection при использовании LINQ?
|
|||
---|---|---|---|
#18+
1. Как перейти с BindingList на ObservableCollection? Перейти хочу т.к. все примеры используют ObservableCollection. Ну и вроде как общепринятый подход к биндингу в WPF. 2. И стоит ли переделывыть? Что потеряю и что мне это даст? 3. Попутный вопрос: как прописать ресурс в XAML, чтобы было видно данные таблицы в конструкторе. Сейчас все работает как в коде ниже. В комментариях мои эксперименты, которые в таблицу ничего не выдают совсем. Использую LINQ XAML Код: xml 1. 2. 3. 4.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2012, 23:36 |
|
Как перейти с BindingList на ObservableCollection при использовании LINQ?
|
|||
---|---|---|---|
#18+
1.Переход необходим, тк wpf и все контролы работают с ObservableCollection, если его нет, то идет преобразование в него, а это дает накладные расходы(которые могут быть весьма значительными, если списки большие) и возможны утечки памяти. 2. linq возвращает простой List и одни только as ничего не дадут для преобразования. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2012, 10:16 |
|
Как перейти с BindingList на ObservableCollection при использовании LINQ?
|
|||
---|---|---|---|
#18+
SeVa2. linq возвращает простой List и одни только as ничего не дадут для преобразования. Т.е. нужен новый класс и цикл заполнения? Как правильно сделать? Хотябы шаги напишите ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2012, 10:27 |
|
Как перейти с BindingList на ObservableCollection при использовании LINQ?
|
|||
---|---|---|---|
#18+
Serge73SeVa2. linq возвращает простой List и одни только as ничего не дадут для преобразования. Т.е. нужен новый класс и цикл заполнения? Как правильно сделать? Хотябы шаги напишите Да, получаешь лист, а потом заполняешь коллекцию. Получить данные - это только начало. Нужна поддержка: INotifyPropertyChanged, валидация, разграничение доступа и тд. Для начала рекомендую ознакомится с CSLA(www.lhotka.net). Этот фреймворк в исходниках и там можешь посмотреть на его подходы и решения. Кроме этого есть букварь с описанием. Его стоит посмотреть в любом случае, там найдешь ответы на большинство вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2012, 01:17 |
|
Как перейти с BindingList на ObservableCollection при использовании LINQ?
|
|||
---|---|---|---|
#18+
[quot SeVa]Serge73пропущено... Кроме этого есть букварь с описанием. Его стоит посмотреть в любом случае, там найдешь ответы на большинство вопросов. К сожалению только вчера обнаружил целый раздел с описание привязки. Букварь с годами стал какой-то неудобный, хрен что найдешь, особенно примеры. Еще электронный перевод от MS просто выводит порой. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2012, 17:05 |
|
Как перейти с BindingList на ObservableCollection при использовании LINQ?
|
|||
---|---|---|---|
#18+
Все оказалось просто до безобразия. Еще проще чем через BindingList/ Ключевой момент оказался в правильно выбранной перегрузке: customersObserv = new ObservableCollection<customers>(from z in DC.customers select z); Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2012, 23:27 |
|
|
start [/forum/topic.php?fid=21&fpage=26&tid=1441265]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 9ms |
total: | 134ms |
0 / 0 |