|
Binding
|
|||
---|---|---|---|
#18+
Вечер добрый. Есть контрол: Код: 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.
Не получается забиндить св-во контрола на св-во вьюхи. Время позднее, где-то туплю, но не пойму где? Св-во вьюхи: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 02:28 |
|
Binding
|
|||
---|---|---|---|
#18+
Супер_ПавВечер добрый. Есть контрол: Код: 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.
Не получается забиндить св-во контрола на св-во вьюхи. Время позднее, где-то туплю, но не пойму где? Св-во вьюхи: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
от чего унаследован EntitySelector? Это Window, UserControl, Control? может просто когда происходит Binding значение в модели равно null, а так как у свойства зависимости значение по умолчанию default(string) = null, то и изменений в свойстве не происходит, а значит не вызывается метод SelectedEntityProperty_Changed. Этот метод будет вызван только в том случае, если значение отличается от предыдущего. Проверка идет вроде через Equals() такой подход как по мне просто корявый, в данном случае нет ни какого необходимости создавать binding в коде. зато потом, когда надо будет понять, от куда это свойство берёт значение, надо будет искать и не факт, что сразу найдешь, что нужно. можно точно так же в XAML определить связывания для свойства зависимости SelectedEntityProperty через MarkupExtension {Binding}. А вот это вообще нафига? OnPropertyChanged(() => SelectedEntityCode);? для передачи имени можно использовать nameof(SelectedEntityCode) (работает начиная с C#6 (VS2015)) на сколько я помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 17:23 |
|
Binding
|
|||
---|---|---|---|
#18+
Roman Mejtesот чего унаследован EntitySelector? Это Window, UserControl, Control? может просто когда происходит Binding значение в модели равно null, а так как у свойства зависимости значение по умолчанию default(string) = null, то и изменений в свойстве не происходит, а значит не вызывается метод SelectedEntityProperty_Changed. Этот метод будет вызван только в том случае, если значение отличается от предыдущего. Проверка идет вроде через Equals() такой подход как по мне просто корявый, в данном случае нет ни какого необходимости создавать binding в коде. зато потом, когда надо будет понять, от куда это свойство берёт значение, надо будет искать и не факт, что сразу найдешь, что нужно. можно точно так же в XAML определить связывания для свойства зависимости SelectedEntityProperty через MarkupExtension {Binding}. А вот это вообще нафига? OnPropertyChanged(() => SelectedEntityCode);? для передачи имени можно использовать nameof(SelectedEntityCode) (работает начиная с C#6 (VS2015)) на сколько я помню. EntitySelector контрол. Значение во вьюхе действительно равно нул, но оно меняется пользователем на форме. Соответственно, как я понимаю биндинг, должно поменяться и в св-ве контрола. По поводу нафига мне OnPropertyChanged(() => SelectedEntityCode), это хвост из прошлого, когда еще была 2010 студия. Меня вполне устраивает такой вариант. Это вызов PropertyChangedEventHandler PropertyChanged; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 19:57 |
|
|
start [/forum/topic.php?fid=21&fpage=9&tid=1440569]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 249ms |
total: | 407ms |
0 / 0 |