wpf использует эллипс для прогресса

любопытно использовать эллипс для отображения прогресса, возможно, поскольку индикатор выполнения использует 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>

person Terco    schedule 01.06.2011    source источник


Ответы (1)


Я бы, наверное, начал с создания UserControl, который содержит анимированный эллипс, который «пульсирует» — становится ярче, затем тускнеет, ждет секунду, затем снова становится ярче и так далее.

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

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

person Jay    schedule 02.06.2011