| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > DoubleAnimation для Button.Width в Silverlight 2.0 |
| Автор: MarS 9.4.2008, 09:09 | ||
Сделал простейшую форму на Silverlight 2.0. Шаблон для кнопки, сверху кнопки — прямоугольник. При наведении курсора на кнопку запускается DoubleAnimation для Rectangle.Width. Все замечательно работает. При попытке сделать то же самое для Button.Width — не работает (ничего не происходит). Может, я в шаблонах чего-то не понял? Или понял, но не я?
|
| Автор: Kefir 9.4.2008, 09:34 | ||||
то есть?.. тут такое дело. вот твой темплейт:
во-первых, не вижу никакого начала анимаций (сторибордов то биш). во-вторых, сториборды делаются или в самом контроле (в триггерах самой кнопки) или в ресурсах контрола - это как то логично. не вижу смысла ставить анимацию в ресурсы стакпанели. в-третьих, не вижу чтобы где-то было что-нибудь об анимации кнопки. думаю. что его лучше было бы переписать следующим образом (при наведении на кнопку начинает менятся ширина и кнопки и прямоугольника, когда мышка выходит за кнопку - анимация прекращается):
думаю, что в коде всё должно быть более-менее ясно. если нет - спрашивай. ЗЫ я писал не для сильверлайта, но, думаю, что должно работать. |
| Автор: MarS 9.4.2008, 11:20 |
Так... по пунктам:
Что странно, работает с прозрачностью шаблона кнопки... с шириной - только если сториборд применять к конкретной кнопке, а не к шаблону :( |
| Автор: Kefir 9.4.2008, 12:00 |
| ok, значит сильверлайт обрезан намного больше, чем я думал. покажи, как ты пытаешься анимировать кнопку, а то я сейчас только анимацию прямоугольника вижу В) и будем разбираться |
| Автор: MarS 9.4.2008, 12:44 |
| Ввожу вместо Storyboard.TargetName="rect" - Storyboard.TargetName="btn". Пример привел для прямоугольника, ибо он работает :) Очень странно, повторюсь, в случае с Opacity все в порядке. Понравилась менюшка слева: http://silverlight.net/quickstarts/silverlight10/default.aspx С кнопками пока не выходит :) |
| Автор: archeg 9.4.2008, 15:15 |
| MarS, у меня твой пример полностью работает. Как с прямоугольником, так и с кнопкой. Kefir, в Сильверлайте в отличии от WPF не поддерживаються триггеры и класc FrameworkTemplate не имеет свойства Resources. Класс FrameworkTemplate является родитилем для других темплейтов в среде |
| Автор: Kefir 9.4.2008, 18:48 |
| archeg, да уж, сильверлайт мне ещё учить и учить однако да - поставил наконец себе новый бленд - всё работает как с кнопкой так и с прямоугольником. MarS, если совсем не выходит - попробуй создать новый проект и проверить на "чистом листе", так сказать. |
| Автор: MarS 10.4.2008, 08:44 |
| Блин, в чистом проекте работает. Старый запустил - тоже работает. Так и не понял, что это было. Но, правда, долго тупил :( Извините |