|
Как передать DataContext в ConverterParameter ?
|
|||
---|---|---|---|
#18+
Здравствуйте. Мне нужно как то пробросить DataContext UserControl-a в ConverterParameter. Поискал, но подходящего решения не увидел. Код: 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.
Code behind и Converter Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Пробовал передать через MultiBinding. DataContext передался, но свойство Y2 перестало устанавливаться. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Подскажите пожалуйста как это сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 22:45 |
|
Как передать DataContext в ConverterParameter ?
|
|||
---|---|---|---|
#18+
S_A_V_e Мне нужно как то пробросить DataContext UserControl-a в ConverterParameter. Вообще вот это: Код: c# 1.
как раз передаёт текущий DataContext в конвертер, только не в parameter, а в value - указание DataContext без Path как раз указывает на весь датаконтекст в целом. Нюанс в том, что такая привязка будет работать только при изменении самого DataContext - т.е. когда он будет переприсвоен, а сами изменения внутри DataContext никаких изменений в такой привязке не вызовут. S_A_V_e Пробовал передать через MultiBinding. DataContext передался, но свойство Y2 перестало устанавливаться. Для Multibinding'а конвертер должен реализовывать интерфейс IMultiValueConverter, а здесь всё тот же конвертер с реализацией IValueConverter, поэтому привязка просто не работает. В окне Output студии про это должно быть сообщение об ошибке биндинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 06:08 |
|
Как передать DataContext в ConverterParameter ?
|
|||
---|---|---|---|
#18+
Интерфейс IMultiValueConverter я реализовывал. Просто не показал что бы не постить лишний код. Но Y2 не устанавливается даже если константу вернуть в конвертере Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 09:57 |
|
Как передать DataContext в ConverterParameter ?
|
|||
---|---|---|---|
#18+
S_A_V_e Просто не показал что бы не постить лишний код. Ничего, форум не треснет. А без более-менее правдоподобного когда отвечать на такие вопросы - всё равно, что гадать на кофейной гуще. S_A_V_e Но Y2 не устанавливается даже если константу вернуть в конвертере Код: c# 1. 2. 3. 4. 5.
А это потому, что конвертер возвращает константу-литерал с типом int, а свойство Line.Y2 имеет тип double - биндинг ломается на несоответствии типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 11:03 |
|
Как передать DataContext в ConverterParameter ?
|
|||
---|---|---|---|
#18+
объясните по нормальному, что в результате вы хотите получить. Биндить линиюю на Canvas'е это такое себе.... мне кажется у вас изначально какой то неправильный путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 11:28 |
|
Как передать DataContext в ConverterParameter ?
|
|||
---|---|---|---|
#18+
Всё получилось. Действительно ломалось на несоответствии типов. Так работает (IMultiValueConverter): Код: c# 1. 2. 3. 4.
Вопрос решен. Спасибо большое за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 11:29 |
|
|
start [/forum/topic.php?fid=21&tid=1440285]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 136ms |
0 / 0 |