|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Есть у меня ТабКонтрол и в каждую вкладку мне надо вложить один и тот же грид, но с разным ItemSource. Как это сделать? DataTemplate, ControlTemplate или UserControl или ... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 11:52 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Qwe.Qwe1, исходя из описания вопроса нужен разный биндинг итемсорсов. Но что-то мне подсказывает, что Вы предлагает попытать счастья отвечающим Вам в ванговании более подробной описании проблемы и телепатии. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 11:59 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Табконтрол сам является ItemControl-ом, так что можно сам источник вкладок ItemsSource задать через привязку, а потом DataGrid.ItemsSource привязывать к TabControl.SelectedItems.ItemsForDataGrid и задать контент для вкладки в виде шаблона с DataGrid-ом ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:04 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Shocker.ProТабконтрол сам является ItemControl-ом, так что можно сам источник вкладок ItemsSource задать через привязку, а потом DataGrid.ItemsSource привязывать к TabControl.SelectedItems.ItemsForDataGrid и задать контент для вкладки в виде шаблона с DataGrid-омТаким образом, ты добьешься как раз того, что будет один грид на все вкладки. Но подумай, нужно ли это тебе. Дело в том, что при переключении вкладок и смене источника данных в этом гриде, у тебя будут теряться вводимые данные (если они не закончены), текущая строка в гриде, текущее состояние скроллера и т.п. Что вообще ты подразумеваешь под "один и тот же грид"? Может все-таки гриды разные, просто у них одинакое описание столбцов? ну и вынеси его в статический ресурс тогда. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:07 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Ну я описал грид: его свойства, задал колонки (названия, картинки там, выравнивания и прочее). Получился приличный такой блок XAML кода. Теперь его надо добавить на условно 5 вкладок. Отличаться будет только ItemSource - у меня есть 5 разных списков однотипных данных. Не хочется делать "контрол цэ - контрол вэ"... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:21 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Qwe.Qwe1задал колонкито есть повторяющийся код в <DataGrid.Columns>, так? ну вот вынеси коллекцию в статический (или динамический ресурс) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:26 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Вот как это выглядит сейчас: Код: xml 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:33 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Qwe.Qwe1, не знаю это ли имел ввиду Shocker.Pro, но я бы сделал так- ты биндишь к ViewModel свойство выбранной текущей вкладки SelectedItem, Itemsourse={Binding Items} у тебя для каждой вкладки остается один и тот же, во ViewModel отслеживаешь изменения SelectedItem и в зависимости от того, какая текущая вкладка подставляешь соответственно нужный Items. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:54 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Что мешает шаблон для контента вкладки вынести в ресурс? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:55 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
vb_subне знаю это ли имел ввиду Shocker.Pro, но я бы сделал так- ты биндишь к ViewModel свойство выбранной текущей вкладки SelectedItem, Itemsourse={Binding Items} у тебя для каждой вкладки остается один и тот же, во ViewModel отслеживаешь изменения SelectedItem и в зависимости от того, какая текущая вкладка подставляешь соответственно нужный Items.Почти. Только я необязательно что-то менять через VM - сами вкладки могут браться тоже из ItemsSource, а не задаваться в кода. По крайней мере для TabControl, не знаю, как насчет DevExpress - автор в первом посте технично умолчал о том, какие элементы он использует, рассказывал про Табконтрол ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:59 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Shocker.ProЧто мешает шаблон для контента вкладки вынести в ресурс? А можно сокращенный набросок кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:59 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Код: xml 1. 2. 3.
Код: xml 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 13:04 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Shocker.ProShocker.ProТабконтрол сам является ItemControl-ом, так что можно сам источник вкладок ItemsSource задать через привязку, а потом DataGrid.ItemsSource привязывать к TabControl.SelectedItems.ItemsForDataGrid и задать контент для вкладки в виде шаблона с DataGrid-омТаким образом, ты добьешься как раз того, что будет один грид на все вкладки. Но подумай, нужно ли это тебе. Дело в том, что при переключении вкладок и смене источника данных в этом гриде, у тебя будут теряться вводимые данные (если они не закончены), текущая строка в гриде, текущее состояние скроллера и т.п. Что вообще ты подразумеваешь под "один и тот же грид"? Может все-таки гриды разные, просто у них одинакое описание столбцов? ну и вынеси его в статический ресурс тогда. эту проблему я решал след. образом: для каждой вкладки генерировался свой ContentControl, в который синхронизировал шаблоны элементов TabControl'ов. После этого, мне нужно было просто в качество содержимого подставлять этот ContentControl. То визуальное дерево, которое в нём было построено всегда находится в памяти, но не всегда в дереве окна. Состояния объектов, выделения, изменения при этом сохраняются. А переключение становится значительно быстрее, если шаблон TabItem'а внушительный ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 13:24 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Shocker.Pro, а ItemSource, свой для каждой вкладки, то есть грида? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 14:08 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Qwe.Qwe1Shocker.Pro, а ItemSource, свой для каждой вкладки, то есть грида?ну так укажи свой Content="{Binding MySource1}" для каждого ContentPresenter-а и привяжись к нему. Или через DataContext ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 14:37 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Roman Mejtesгенерировался свой ContentControlгенерировался кодом? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 14:39 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Shocker.Pro, круть ) спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 14:44 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Shocker.Pro, Вариантов много, 1 из вариантов вот такой: остается только автоматизировать создание и удаление <TabItem'ов> с заранее созданными элементами урпавления, а не шаблонами. При переключении вкладок шаблоны не очень подходят Код: xml 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 16:18 |
|
Табконтроол и грид
|
|||
---|---|---|---|
#18+
Roman Mejtesостается только автоматизировать создание и удаление <TabItem'ов> с заранее созданными элементами урпавления, а не шаблонами.Я именно так сейчас и сделал, после того, как столкнулся со сбросом состояния при переключениях шаблонов ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 16:30 |
|
|
start [/forum/search_topic.php?author=%D0%90%D0%BC%D0%B0%D1%82%D0%B0&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 438ms |
total: | 598ms |
0 / 0 |