|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
Имеется следующий DataTemplate у ItemsControl-a Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Нужно чтобы при нажатии на гиперлинк в заголовке экспандера удалялся соответствующий экспандер (тот, в заголовке которого лежит кликнутый гиперлинк). Пытаюсь блюсти MVVM, поэтому не пользуюсь поиском по DataTemplate-сгенерированному контенту. Подозреваю, что нужно создать Command, но что написать в code-behind? - ума не приложу. Как получить ссылку на соответствующий экспандер?. Видел схожие реализации, отличие заключалось в том, что они испльзовали ListView, у которого есть SelectedItem. В моём ItemsControl SelectedItem всегда null. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2011, 11:43 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
stukselbax, без VisualTreeHelper не обойтись, воспользуйтесь им, только если вы пишите на WPF не знаю, есть он там или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2011, 12:35 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
Не нужен никакой VisualTreeHelper Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2011, 13:20 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
SeVa, Сделал следующий вариант (подходящий под Ваше описание) Код: plaintext 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.
Биндился к команде следующим образом: Код: plaintext 1. 2. 3.
Вариант оказался нерабочим. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2011, 15:11 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
Проверь binding'и в xaml ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2011, 19:58 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
SeVa, Даже в Design Mode биндинг показывает элементы, которые инициализированы в конструкторе. Не понимаю, что Вы имели ввиду под словами SeVaПроверь binding'и в xaml ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 08:46 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
Чтобы не было недопониманий, выкладываю xaml Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 09:00 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
Поставь CommandParameter="{Binding /}" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 09:43 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
SeVa, Не катит... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 12:53 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
stukselbaxSeVa, Не катит... :( А у меня все катит. Разбирайся сам. Если тебе в лом лишнюю строчку написать,что происходит, то мне и подавно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 14:47 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
Для тех, кто столкнется с подобной проблемой, один из возможных примеров, как это можно сделать: 1) Сделать команду статичной. т.е. прописать во ViewModel: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
2) Во View нужно пользоваться следующей вещью Код: plaintext 1. 2. 3.
Спасибо книжке WPF programmers referrence windows presentation with C# 4.0; А если по делу нечего сказать, лучше молчать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 17:46 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
stukselbaxДля тех, кто столкнется с подобной проблемой, один из возможных примеров, как это можно сделать: 1) Сделать команду статичной. т.е. прописать во ViewModel: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
2) Во View нужно пользоваться следующей вещью Код: plaintext 1. 2. 3.
Спасибо книжке WPF programmers referrence windows presentation with C# 4.0; А если по делу нечего сказать, лучше молчать. 1.Единственно правильный вывод - начинать нужно с книжек, чтобы понимать, как работает биндинг 2. Решение со статиком - практальный, пионерский метод. Возращаемся к пункту первому, потом c помощью RelativeSource делаем все тоже , но только нормальным способом. 3. После букварей, попытайся угадать ответ, на твои куцые вопросы в этом топике. 4. Кроме спецлитературы, возьми в библиотеке букварь с правилами хорошего тона. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 18:13 |
|
Создание редактируемого ItemsControl с DataTemplate по шаблону MVVM
|
|||
---|---|---|---|
#18+
На случай, если кому-то понадобится. Если нет возможности сделать команду static, можно сделать так: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 18:45 |
|
|
start [/forum/topic.php?fid=21&msg=37325796&tid=1442265]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 464ms |
0 / 0 |