wpf использует ellipse для выполнения

#wpf #progress #ellipse

#wpf #прогресс #эллипс

Вопрос:

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

 <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:

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

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

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