|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
Есть у меня фрагмент кода с Popup окном, внутри которого Grid с данными, несколько кнопок. Все биндится через ViewModel (данные для списка из модели, команды кнопок обрабатываются в самой ViewModel). Теперь нужно по сути повторить этот код для однотипных списков данных. То есть добавить еще несколько кнопок, по клику на которые будут показываться свои такие же окошки, но с другими данными. Как избежать в моем случае дублирования кода? Вынести в UserControl со своей ViewModel? Или? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 18:06 |
|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
Qwe.Qwe1, Это же отдельное окно форма справочник которое ты можешь вызвать из любого места. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 18:52 |
|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
Petro123, в общем - да. Можно создать обычное окно со своей VM и при клике на кнопку создавать его, передавая список значений и т.п. Надо только убрать строку заголовка и научиться выводить его сверху/снизу кнопки как это автоматом делает попап. А хотелось бы, если это просто, сделать именно Popup и средствами XAML (шаблоны и т.п.) добиться нужно результата. Понять как это делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 22:05 |
|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
Popup по сути, это примитив. То есть использовать его стоит в качестве части шаблона элемента управления, а не как независимый элемент управления. В шаблона обычно всё биндится через TemplateBinding, а содержимое передается через DataTemplate'ы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 23:17 |
|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
Недавно была тема, в которой как раз был вариант решения, как раз на основе с Popup и ToggleButton, и как раз в виде шаблона контрола (комбобокса) с привязками данных через TemplateBinding: 21635815 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 06:00 |
|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
P.S. Советую обратить внимание, как в примере по ссылке содержимое Popup завернуто в SystemDropShadowChrome. У Джоша Смита есть небольшая заметка про использование этого класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 06:05 |
|
Повторно использовать Popup и binding
|
|||
---|---|---|---|
#18+
Roman MejtesPopup по сути, это примитив. То есть использовать его стоит в качестве части шаблона элемента управления, а не как независимый элемент управления. В шаблона обычно всё биндится через TemplateBinding, а содержимое передается через DataTemplate'ы.а с гридом внутри это не тяжеловесно? У грида обычно размер окна побольше папап комбобокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 07:23 |
|
|
start [/forum/search_topic.php?author=%D0%9F%D0%B0%D0%B2%D0%B5%D0%BB_%D0%B5%D0%BA%D0%B1&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 440ms |
total: | 624ms |
0 / 0 |