|
Image Tooltip
|
|||
---|---|---|---|
#18+
Как отобразить Tooltip у нарисованного элемента? Рисую так и пробовал добавлять Tooltip, но так не работает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 13:48 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 13:49 |
|
Image Tooltip
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 15:00 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
у меня только 1 вопрос, зачем всё это делать императивно, если можно декларативно? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 16:11 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Roman Mejtes, Любой вариант подойдет. У меня есть контрол: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Для него есть Template. В этом Template есть: Код: c# 1. 2. 3. 4.
PlanetCircle это Canvas. В нем я рисую много объектов Код: 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.
Для image мне нужно сделать тултип. Как я понял я могу его сделать 2 способами. Или добавлять контрол на мой Zodiac и у него уже делать тултип или обрабатывать движение мыши на канве, определять, что она на нужном объекте и показывать тултип. С контролом пока не получается. Обработку мыши не пробовал пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 16:33 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Pavluha, вся ваша проблема в том, что вы их именно рисуете. Я бы сделал так: PlanetCircle я бы наследовал от Panel или Canvas. 2 случай я бы использовал, бы мне нужно было выходить за рамки контрола. в этом контроле я бы переопределил методоми MeasureOvveride и ArrangeOverride. Планеты я бы сделал отдельным контролом со своими шаблоном и контнтом, который может быть произвольным. Проще говоря в Children я бы размещал любые UIElement'ы которые внутри PlanetCircle размещались бы и вращались на своих местах. Так же в PlanetCircle создаем зависимые свойства CentreX, CentreY, Radius, Angle, указываем в опциях к свойства, что они влияют на Arrange (AffectsArrange). Положением элементов в панели мы вычисляем задаем в методе ArrangeOverride, если нужно, чтоб каждый элемент нашей панели (каждая планета) летала на своей орбите со своей скоростью и другими коэффициентами, задаем их с помощью AttachedProperty для каждого элемента панели (будет не важно, кнопка это или картинка или грид) либо делаем обёртку с соответствующими свойствами. После того как сделаете это, будет в 3 раза проще анимировать всё это. Планету уже будут не рисунками, а реальными объектами в которых вы разместите любой контент, картинки или кнопки, тултипы, хоть лысый х... а вы просто рисуете их на контроле, соответственно, они у вас не интерактивны. Ну это не интересно! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 17:12 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Roman MejtesPlanetCircle я бы наследовал от Panel или Canvas. Так и есть, от Canvas Roman Mejtes2 случай я бы использовал, бы мне нужно было выходить за рамки контрола. Так и есть. Планеты должны быть за окружностью или тогда не выставлять размеры PlanetCircle и он будет в размер родителя. Roman Mejtesв этом контроле я бы переопределил методоми MeasureOvveride и ArrangeOverride. Этого пока не надо, сами планеты имеют фикс размер Roman MejtesПланеты я бы сделал отдельным контролом со своими шаблоном и контнтом, который может быть произвольным. Спасибо, попробую так сделать. Тоже кажется правильным подходом. Roman MejtesТак же в PlanetCircle создаем зависимые свойства CentreX, CentreY, Radius, Angle, указываем в опциях к свойства, что они влияют на Arrange (AffectsArrange). Они на AffectsRender повешены вот так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Roman MejtesПоложением элементов в панели мы вычисляем задаем в методе ArrangeOverride, если нужно, чтоб каждый элемент нашей панели (каждая планета) летала на своей орбите со своей скоростью и другими коэффициентами, задаем их с помощью AttachedProperty для каждого элемента панели (будет не важно, кнопка это или картинка или грид) либо делаем обёртку с соответствующими свойствами. После того как сделаете это, будет в 3 раза проще анимировать всё это. Планету уже будут не рисунками, а реальными объектами в которых вы разместите любой контент, картинки или кнопки А вот тут у меня вопрос, на который я пока не понял, как найти решение, но пробовал. Количество планет произвольное. Где и когда их добавлять? Я понял, что в Render неправильно, потому что начинались тормоза и приходилось постоянно удалять старые объекты иначе добавлялось еще такое же количество. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 11:47 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
в этом контроле я бы переопределил методоми MeasureOvveride и ArrangeOverride. Извиняюсь, надо ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 11:51 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
если вы сделайте такой контрол, но количество планет произвольно и зависит от модели представления, тогда делать нужно след. образом: Код: xml 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 14:44 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Roman Mejtes, Не совсем так. PlanetCircle это как раз круг, где я еще рисую линии. А вот на нем уже планеты, вернее вокруг него. Так вот количество этих планет произвольное. Я пока сделал вот такой контрол: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Вот этих объектов может быть много и вот их я хочу добавлять, как Child на PlanetCircle. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 15:20 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Roman Mejtes, т.е. должно быть тогда так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 15:21 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Pavluha, какой то у вас неправильный подход :) если вам надо круг, вы в Render его рисуйте, а поверх размещенные контролы и линии куда нужно. Так как вы написали не получится. А чтоб элементы были круглыми, можно задать ClipBound Gemotry ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 15:50 |
|
Image Tooltip
|
|||
---|---|---|---|
#18+
Roman Mejtes, Спасибо! Сделал так, все теперь здорово отображается и с ToolTip проблем нет. Весь код отображения перенес в PlanetUI: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2015, 17:10 |
|
|
start [/forum/topic.php?fid=21&msg=38882679&tid=1440921]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
98ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 186ms |
0 / 0 |