|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Подскажите плиз, есть ли такая возможность в WPF, как однократное указание для Command иконки, и чтобы после привязки к MeuItem или Button эта иконка тоже появлялась? Если нет, то как решается такая задача? Неужели для каждого объекта, где есть ссылка на команду, нужно создавать Image c Source=Icons/Image1.png? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2015, 23:22 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
1. Делаем свою реализацию ICommand c DependencyPropetry типа ImageSource. 2. Оверрайдим default template, в темплейте где нужно размещаем Image, биндим его ImageSource на Command.ImageSource. Только это не вполне идеологически правильно, т.к. команда определяется в модели, которая ничего не должна знать о View - в т.ч. об иконках на его кнопках. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 06:13 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, мм мне такая реализация не по душе :) есть RoutedUICommand класс, я бы на основе него делал команду с ништяками :) имхо, конечно а вот уже слушатель маршрутизируемых команд должен связывать RelayCommand'ы с RoutedCommand. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 07:41 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Да, это я, и да, не XML, а XAML =) начни хотя бы с того, чтобы запомнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 07:42 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, помогите мне пожалуйста с этим http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid= ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 13:23 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman0888Сон Веры Павловны, помогите мне пожалуйста с этим http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid= Как сделать Signature в XML файле? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 13:24 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman MejtesДа, это я, и да, не XML, а XAML =) начни хотя бы с того, чтобы запомнить. Это я опечатался. Время позднее, не обратил внимания. Речь идет именно о routed UI command. Я как то предположил, что раз оно UI , то информацию об иконке можно хранить с ней. Ведь названия и шорткаты хранятся. Где же здесь концептуальная ошибка? Собственно, впф я начал учить только пару дней как. Хотелось бы сразу делать "правильно". До этого винформс и делфи, что мешает. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 14:04 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Да, это я, Обычно используют обёртку поверх Command и биндят к кнопкам и меню уже её: Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 16:11 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
guest123456, Вас не затруднит пример выводить выложить? Хотя бы с одной кнопкой. То есть команда с текстом, картинкой и шорткатом и в меню, и на кнопке. Буду очень благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 16:31 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Да, это яguest123456, Вас не затруднит пример выводить выложить? Хотя бы с одной кнопкой. То есть команда с текстом, картинкой и шорткатом и в меню, и на кнопке. Буду очень благодарен Вот первый повавшийся пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 16:40 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Ilya81, Пример, скажем честно, неудачный. Попробую наваять что нить, сюда выложу, чтобы покритиковали ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 19:41 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Да, это я, утром завтра скину вам пример с RouteUICommand и привязкой их к RelayCommand в ViewModel. Как по мне, самый удобный вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 22:04 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Я обычно никаких RelayCommand для RouteUICommand не использую, только сам CommandBinding у меня чаще в коде, чем в XAML'е, но обработчики обычно - просто методы того ж класса. Скажем, так Код: c# 1.
И вызывается, скажем, в каком-нибудь статическом конструкторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 09:24 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Да, это я, http://rghost.ru/8HcYfTnh7 вот тут скинул проект ImagingCommand - это класс для маршрутизирумых команд CommandListener - это статический класс содержит прикрепляемое свойство, свойство это коллекция для элментов CommandBind, для связывания маршрутизируемой команды и команды в модели представления Так же есть файл со стилями для MenuItem и Button, для отображения картинки и текста на кнопке и в меню будут вопросы, пишите :) если у кого есть замечания, буду рад выслушать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 11:28 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman Mejtes, Воистину ты великий человек, о Фангахра! Ушел разбирать проект по косточками и читать хелп по использованным классам. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 12:03 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman Mejtesесли у кого есть замечания, буду рад выслушать Нет иконок у всех MenuItem'ов - т.к. стиль для них вынесен в РД, то стиль создается в 1 экземпляре => Image создается в 1 экземпляре => Image остается на последнем контроле, которому был присвоен (в данном случае - вообще непонятно на каком). Фиксится вот так: Код: xml 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 13:45 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Это что получается, из XAML можно ссылаться на команду только через x:Static? Посмотрите плиз код на предмет неправильного понимания сути. Мне нужно, чтобы команда могла цепляться к любому элементу интерфейса, и при этом этот элемент мог иметь возможность а) выводить текст б) отображать картинку в) отображать закрепленный за командой шорткат. Хотелось бы еще, чтобы команда могла понимать, кто её вызвал. Ну и вопросы: нужно ли в команде поддерживать INotifyPropertyChanged, и зачем для RoutedUICommand нужен OwnerType ? Кусок кода - команда Код: 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. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 14:59 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, =) гы и правда, ну тогда можно вот так, как вариант: Код: xml 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 15:03 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
АБВГДЕЙ, команды можно цеплять к элементам элементам, которые наследуют интерфейс ICommandSource Если нужно, можно наследовать нужный вам контрол и определить в нём интерфейс, ну или на худой конец поле для команды, которую бы будите возбуждать в событии контрола. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 15:06 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman MejtesАБВГДЕЙ, команды можно цеплять к элементам элементам, которые наследуют интерфейс ICommandSource Если нужно, можно наследовать нужный вам контрол и определить в нём интерфейс, ну или на худой конец поле для команды, которую бы будите возбуждать в событии контрола. Ок, неясно выразился. Не любому элементу интерфейса, а тому, который из коробки поддерживает команды. Типа Меню, КонтекстМеню, Баттон. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 15:09 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Немного прояснилось, но есть вопросы. Я создал по аналогии с примером класс RoutedCommands и в нем добавил статическую команду RoutedCommands Код: c# 1. 2. 3. 4.
А в MainWindow.xaml прописал: MainWindow.xaml Код: 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. 40. 41. 42. 43. 44.
Так вот, почему то без <Window.InputBindings> шорткаты не работают, хотя при создании команды я их прописал. Если для Window их обязательно нужно указывать, нельзя ли автоматом цеплять из Command? И второе: если я в Image не укажу Width="16" Height="16", то картинка увеличивается на пол экрана. Почему? В исходном примере никаких явных указаний размера не нашел, а картинка нормального размера. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 17:11 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
АБВГДЕЙ, выше выкладывал пример с CommandListener, чисто теоретически, при добавлении команды в коллекцию, не проблема к объекту которому вы аттачите свойство слушателя прикрепить InputBinding или просто прослушивать события клавиатуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 18:02 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman MejtesАБВГДЕЙ, выше выкладывал пример с CommandListener, чисто теоретически, при добавлении команды в коллекцию, не проблема к объекту которому вы аттачите свойство слушателя прикрепить InputBinding или просто прослушивать события клавиатуры. Роман, спасибо за пример. Я его все еще изучаю, слишком много новых концепций для меня там, пока не врубился во все. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2015, 18:06 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
Roman MejtesДа, это я, http://rghost.ru/8HcYfTnh7 вот тут скинул проект ImagingCommand - это класс для маршрутизирумых команд CommandListener - это статический класс содержит прикрепляемое свойство, свойство это коллекция для элментов CommandBind, для связывания маршрутизируемой команды и команды в модели представления Так же есть файл со стилями для MenuItem и Button, для отображения картинки и текста на кнопке и в меню будут вопросы, пишите :) если у кого есть замечания, буду рад выслушать Роман, вы не объясните в вашем проекте реализацию CommandBind? 1) Зачем наследовать от Freezable 2) Зачем делать ему зависимые свойства? Почему нельзя прописать как обычные? 3) Что за IsHandled? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 16:32 |
|
Вопросы начинающего в Xml
|
|||
---|---|---|---|
#18+
АБВГДЕЙ, 1. классы наследуются от Freezable и FreezableCollection, для возможности связывание (Binding) с моделью представления. Я не сильно вникал в суть того, как именно работает этот базовый класс, да мне это и не особо нужно. Суть в том, что без наследования этого класса невозможно создать связывание, если объект не находится в логическом дереве. 2. Для связывания свойства со свойством необходимо, чтобы одно из свойств (приёмник или источник) было обязательно зависимым. Невозможно связать 2 обычных свойства через Binding. Только dependency (или attached) property с обычным свойством или DP с DP. 3. IsHandled значит, что данная маршрутизируемая команда обработана. RoutedCommand основаный на RoutedEvent и являются всплывающими событиями (Bubble). Если у вас в визуальном дереве используется 2 CommandLisnter'а, то может получиться так, что команда всплывая будет обработана обоими слушателями и команда выполнится 2жды в разных местах. По этому, если вам не нужна повторная обработка команды, вы 1 из CommandBind IsHandled = true и всплытие прекратится. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 17:08 |
|
|
start [/forum/topic.php?fid=21&msg=38870454&tid=1440938]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 143ms |
0 / 0 |