Как правильно оформить модный вертикальный ProgressBar? - PullRequest
7 голосов
/ 06 января 2010

Я пытаюсь сделать стильный индикатор, но у меня проблема с его вертикальной версией. Картинка стоит тысячи слов:

http://img402.imageshack.us/img402/2033/progressq.gif

Все, что я пытался сделать, привело к ошибкам. Как мне добиться права? Я бы предпочел решение только на XAML, если оно медленное или не вызывает мерцания, когда индикатор выполнения обновляется много раз в секунду.

1 Ответ

5 голосов
/ 06 января 2010

Вот одна альтернатива:

<Border BorderBrush="Black" BorderThickness="2" CornerRadius="3" Padding="3">
    <Grid Width="20" Height="100">
        <Grid Height="{Binding ProgressValue}" VerticalAlignment="Bottom">
            <Grid Height="100" VerticalAlignment="Bottom">
                <Grid.Background>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                        <GradientStop Color="Yellow" Offset="0.0" />
                        <GradientStop Color="Red" Offset="0.25" />
                        <GradientStop Color="Blue" Offset="0.75" />
                        <GradientStop Color="LimeGreen" Offset="1.0" />
                    </LinearGradientBrush>
                </Grid.Background>
            </Grid>
        </Grid>
    </Grid>
</Border>

Обратите внимание на третью строку сверху, где вы привязываете значение прогресса.

...