#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, следующий немного позже, следующий немного позже и так далее. Я бы ожидал поиграть с этим временем, пока не получу желаемый «поток» слева направо.