|
Бага в Selector'е (ListBox и т.д.)
|
|||
---|---|---|---|
#18+
View: Обычный ListBox (выделение Single), элементы ListBoxItem имею стиль с привязкой поля IsSelected к соответствующему полю для Person, обычный TextBox для фильтрации и 3 TextBlock (они на суть дела не влияют) Код: 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.
ViewModel: 3 класса BaseViewModel, MainModel и Person Ни чего особенного, просто класс со списком Persones, состоящим из <Person>, свойством FilterString и т.д. Код: 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. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81.
Как повторить баг: Выделяем 4ый элемент списка (Dmitriy), и сразу переходим в строку фильтрации. В строке фильтрации вводим букву "R" все элементы кроме 1ого будут отфильтрованы (включая выделенный элемент) Теперь выделяем 1ый (единственный) элемент (Roman) и удаляем букву R из фильтра и получаем вот такую картину: Выделение Single, после этого снять выделение с Roman можно только либо через Ctrl+LeftClick или выделить другой элемент и потянуть выделение наверх. Если нажимать на сам элемент, реакции не будет... Ноги у проблемы растут в Binding'е IsSelected. Код: xml 1. 2. 3.
Когда мы фильтруем элементы, они исчезают из ListBox и фармально Listbox'у о них ни чего не известно, когда мы выделяем другой элемент, старый выделенный элемент в списке отсутствует и ListBox не снимает с него выделения. Так как со старого элемента выделение не снялось, то и в свойстве ViewModel оно осталось прежним. А когда мы удаляем фильтрации, ранее выделенный элемент становится видимым, и так как в модели для него IsSelected = True, он тоже выглядит выделенным. Если убрать Binding то при фильтрации выделение сбрасывается, а это мне совсем не нужно. Вот сижу я и думаю, что мне теперь с этим говном делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 15:33 |
|
|
start [/forum/topic.php?fid=21&fpage=10&tid=1440620]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
others: | 232ms |
total: | 373ms |
0 / 0 |