WP7 ProgressBar Проблемы с высотой и цветом - PullRequest
2 голосов
/ 22 августа 2011

Я хотел бы изменить высоту индикатора выполнения в моем проекте, однако свойство высоты, похоже, ничего не делает, когда я его устанавливаю. Кроме того, возможно ли изменить цвет индикатора выполнения с синего по умолчанию на другой цвет? Оранжевый например.

1 Ответ

5 голосов
/ 22 августа 2011

ProgressBar имеет два цвета.Фон, который всегда является фоном ProgressBar, и фон, который является цветом ProgressBar, когда его значение больше минимального.Оба могут быть легко настроены, но имейте в виду, что по умолчанию используется цвет телефона Accent, что рекомендуется, если у вас нет действительно веских причин.height, переопределите его ControlTemplate и измените высоту ProgressBarIndicator и ProgressBarTrack, например, так: (здесь установлено значение 20px)

<Style TargetType="ProgressBar">
    <Setter Property="Foreground" Value="{StaticResource PhoneAccentBrush}"/>
    <Setter Property="Background" Value="{StaticResource PhoneAccentBrush}"/>
    <Setter Property="Maximum" Value="100"/>
    <Setter Property="IsHitTestVisible" Value="False"/>
    <Setter Property="Padding" Value="{StaticResource PhoneHorizontalMargin}"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ProgressBar">
                <Grid>
                    <VisualStateManager.VisualStateGroups>
                        <!-- Visual States removed for clarity -->
                    </VisualStateManager.VisualStateGroups>
                    <Grid x:Name="DeterminateRoot" Margin="{TemplateBinding Padding}" Visibility="Visible">


                        <!-- CHANGE THE HEIGHT HERE -->
                        <Rectangle x:Name="ProgressBarTrack" Fill="{TemplateBinding Background}" Height="20" Opacity="0.1"/>
                        <Rectangle x:Name="ProgressBarIndicator" Fill="{TemplateBinding Foreground}" HorizontalAlignment="Left" Height="20"/>


                    </Grid>
                    <Border x:Name="IndeterminateRoot" Margin="{TemplateBinding Padding}" Visibility="Collapsed">
                        <Grid>
                            <Slider x:Name="Slider1" Foreground="{TemplateBinding Foreground}" Style="{StaticResource PhoneProgressBarSliderStyle}"/>
                            <Slider x:Name="Slider2" Foreground="{TemplateBinding Foreground}" Style="{StaticResource PhoneProgressBarSliderStyle}"/>
                            <Slider x:Name="Slider3" Foreground="{TemplateBinding Foreground}" Style="{StaticResource PhoneProgressBarSliderStyle}"/>
                            <Slider x:Name="Slider4" Foreground="{TemplateBinding Foreground}" Style="{StaticResource PhoneProgressBarSliderStyle}"/>
                            <Slider x:Name="Slider5" Foreground="{TemplateBinding Foreground}" Style="{StaticResource PhoneProgressBarSliderStyle}"/>
                        </Grid>
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...