Рейтинг:
4
Member 12618031
Как ни странно, но японцы помогли решить этот вопрос. Класс Microsoft.Expression.Формы.Дуга это облегчает рисование кругов.
using Microsoft.Expression.Shapes;
Arc a = new Arc();
a.ArcThicknessUnit = Microsoft.Expression.Media.UnitType.Pixel;
a.ArcThickness = 10;
a.StrokeThickness = 1;
a.Fill = new SolidColorBrush(Colors.Aqua);
a.Stroke = new SolidColorBrush(Colors.DarkMagenta);
a.StartAngle = 0;
a.EndAngle = 0;
a.Width = 200;
a.Height = 200;
a.Stretch = Stretch.None;
stp.Children.Add(a);
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(10);
dt.Tick += (s, e) => { a.EndAngle = a.EndAngle + 4; };
dt.Start();
Рейтинг:
2
Member 12618031
Вы предлагаете простые статические методы рисования. Я спрашиваю об анимации. Не рисуйте круг, но получите эффект рисования. Внимательно посмотрите на код строки.
Richard Deeming
Посмотрите на документацию еще раз. Анимация фигуры-это одно и то же, независимо от формы, которую вы рисуете.
Member 12618031
У вас есть ссылка, где это описано? Никак не могу найти.
Richard Deeming
Обзор фигур и основных чертежей - WPF | Microsoft Docs[^]
Elipse
и Line
оба являются производными от Shape
класс.
Обзор анимации - WPF | Microsoft Docs[^]
Анимация в WPF работает практически на любом DependencyProperty
принадлежность к классу, реализующему IAnimatable
. Все UIElement
классы, включая все Shape
s, реализуйте этот интерфейс.
Свойства, доступные для анимации, будут варьироваться в зависимости от формы, которую вы анимируете. Но процесс их оживления остается тем же самым.
Member 12618031
Самый близкий к моему вопросу, который я нашел, - это тема "радиальный индикатор выполнения". Но есть много дополнительного кода. Мне нужно проще - "нарисовал и забыл". Вы ошибаетесь, если думаете, что линия и круг-это одно и то же.
Richard Deeming
Я не говорил, что линия и круг-это "одно и то же". Я только сказал, что они оба такие. Shape
с.
Код для анимации Shape
это одно и то же, независимо от того, какую форму вы анимируете. Вам просто нужно изменить свойства, которые вы анимируете, и значения, которые вы им задаете.
Никто не может дать вам точный код для достижения нужного вам эффекта, потому что вы не сказали нам, чего вы хотите. Все, что мы можем вам сказать, это то, что анимация линии и анимация круга-это один и тот же процесс.
Member 12618031
Большое спасибо. Я уже нашел решение по этому вопросу. См. решение № 2.
Member 12618031
Я привожу этот пример сочетания рисования круга и линий. Пример[^].