|
Использование в ListBox.ItemsPanel панели Canvas
|
|||
---|---|---|---|
#18+
Eld HaspЕщё вариант, до которого сам додумался, сделать один класс для всего со всеми свойствами наследников. И в нём ввести свойство переключающее представление. По этому свойству менять Visibility у элементов в шаблоне. Но это порождает множество элементов, пусть и невидимых. Не слишком ли криво это?Я поэтому и сказал выше буквально следующее "когда для одного класса существуют принципиально разные шаблоны". А в случае, когда разница между шаблонами в паре [не]видимых элементов, то это как раз и решается триггерами или тупым маппингом свойства Visibility на какое-то поле модели. Eld HaspЕсли вернуться к началу темы. Для DataTemplate не существует каких-то триггеров, селекторов (или чего-то подобного) позволяющего изменить представление или переключаться между ними?а) в качестве внешнего селектора, как я сказал, можно использовать TemplateSelector б) можно переключать триггерами шаблон в ContentPresentere в) можно реализовать внутри шаблона примерно такую разметку Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
в общем, решается по месту ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 00:09 |
|
Использование в ListBox.ItemsPanel панели Canvas
|
|||
---|---|---|---|
#18+
сделайте свою панель с блекджеком и всем остальным и реализуйте там логику размещения элементов так, как вашей душе угодно, без всякого гемороя это только пример, не стоит брать его за основу, Measure не бесконечные размеры, то есть эта панель не будет работать в scrollviewer'е и т.д. Создайте свою панель и элемент контейнер который будет в ней размещаться, свяжите свойства контейнера с моделью, переопределите метод генерации контейнера в ListBox. Это будет самый гибкий вариант и чуть более затратный, но не более того. Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67.
Код: 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 12:19 |
|
|
start [/forum/topic.php?fid=21&msg=39760209&tid=1440356]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 277ms |
0 / 0 |