wpf использует эллипс для прогресса - PullRequest
0 голосов
/ 02 июня 2011

Любопытно использовать эллипс для отображения прогресса, вероятно, поскольку индикатор выполнения использует IsIndeterminate. У меня будет эллипс, в котором цвет или непрозрачность создают эффект движения слева направо, но вместо проданного бара, элементы управления эллипсом разделились. Я не смотрю для рабочего примера, просто надеясь на какое-то направление, чтобы лучше всего это осуществить.

<Canvas VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="canvas1" >
    <Ellipse Height="15" Name="ellipse1" Fill="DodgerBlue"  Stroke="DodgerBlue" Width="15" />
    <Ellipse Height="15" Name="ellipse3" Fill="DimGray"  Stroke="DodgerBlue" Width="15" Canvas.Left="21" Canvas.Top="0" />
    <Ellipse Height="15" Name="ellipse2" Fill="DimGray" Stroke="DodgerBlue" Width="15" Canvas.Left="42" Canvas.Top="0" />
</Canvas>

1 Ответ

0 голосов
/ 02 июня 2011

Вероятно, я бы начал с создания пользовательского элемента управления, который содержит анимированный эллипс, который «пульсирует» - становится ярче, затем затухает, ждет секунду, а затем снова светится и т. Д.

Я бы поместил несколько экземпляров этого элемента управления в UniformGrid.

Чтобы получить желаемый эффект слева направо, вам нужно предоставить какое-либо свойство, которое будет привязано ко времени начала анимации, чтобы самый левый экземпляр начинался с 0, затем немного позже, затем немного позже и так далее. Я бы рассчитывал поиграть с этим временем, пока не получу желаемый поток слева направо.

...