|
обратная анимация в WPF
|
|||
---|---|---|---|
#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. 27. 28. 29. 30. 31.
и он работает, но не совсем так, как хотелось бы. При увеличении объекта viewBox анимации не происходит, а просто выполняется резкое увеличение объекта. А при обратной анимации (strBoard.Resume()) уменьшение нормально анимируется. Подскажите, пожалуйста, в чем может быть проблема? С анимациями в WPF сталкиваюсь впервые. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 20:21 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
Хз. попробовал туда/назад анимирует тормозит/возобновляет без рывков, все плавно. Пробуйте. Попытка номер раз Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 20:58 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
Lord BritishХз. попробовал туда/назад анимирует тормозит/возобновляет без рывков, все плавно. Пробуйте. + Попытка номер раз Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: 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.
прошу прощения - может я неправильно изъяснился. У меня тут проблема в том, что при одном нажатии на кнопку объект должен увеличиваться, а при повторном нажатии на неё же - объект должен возвращаться в исходное состояние, т.е. он должен увеличиться и оставаться в таком состоянии, пока с ним производятся какие-то манипуляции. И вот когда происходит увеличение, то он резко изменяет размеры (по идее анимация сразу становится в позицию времени strBoard.Seek(span);), а когда возвращается в исходное состояние, то анимация выполняется нормально. Вот как побороть эту проблему - не знаю. Пробовал способ с сохранением изменяющихся свойств объекта, но в таком случае некоторые объекты после обратной анимации почему-то не становятся в исходное положение (становится выше/ниже либо левее от исходного положения). Альтернативный код вот: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:00 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
Оно, не? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:31 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
Lord British+ Оно, не? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: 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.
таким способом некоторые контролы при обратной анимации почему-то не на свое место становятся (сдвигаются вверх, вниз либо влево) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 23:40 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
nikich92, Вполне возможно, это зависит от вашего Layout, кто-то подвинется, кто-то сожмется/вытянется. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 00:24 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
Lord Britishnikich92, Вполне возможно, это зависит от вашего Layout, кто-то подвинется, кто-то сожмется/вытянется. у меня там несколько элементов viewbox внутри канваса находятся. Просто некоторые элементы нормально анимируются таким способом, а некоторые смещаются после обратной анимации. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 00:51 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
Lord British, попробовал поставить AutoReverse в true - увидел, что viewbox возвращается в исходное положение нормально. Потом сделал таким способом, как написал в первом сообщении - все нормально, только появляется описанная выше проблема: при анимации увеличения объект резко увеличивается, а при обратной анимации объект плавно возвращается в исходное состояние. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 01:02 |
|
обратная анимация в WPF
|
|||
---|---|---|---|
#18+
кому интересно - выше описанный способ я взял отсюда http://stackoverflow.com/questions/5552124/wpf-can-the-animation-reverse-be-invoked-explicitly ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 01:04 |
|
|
start [/forum/topic.php?fid=21&fpage=33&tid=1441513]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 139ms |
0 / 0 |