Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ProgressBar template, не получается изменить цвет анимации 
V
    Опции темы
mirageb
Дата 13.1.2009, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.4.2007

Репутация: нет
Всего: нет



Всем привет,

Решил немного переделать под себя ProgressBar, все получилось, кроме цвета анимации, цвет все равно отдает зеленым (стандартным цветом прогресс бара).

user posted image

В чем может быть проблема ? Заранее спасибо.

Исходный код:

Вот объявление контрола.

Код

        <ProgressBar HorizontalAlignment="Left" Margin="24,0,0,188" VerticalAlignment="Bottom" Width="208" Height="20" Value="50" 
Style="{DynamicResource H2BProgressBar}" BorderBrush="#FF7B5526" BorderThickness="2,2,2,2" IsEnabled="True">
            <ProgressBar.Foreground>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FFC4A182" Offset="0"/>
                    <GradientStop Color="#FFDB8730" Offset="1"/>
                    <GradientStop Color="#FFC58D5F" Offset="0.485"/>
                    <GradientStop Color="#FFA85109" Offset="0.528"/>
                </LinearGradientBrush>
            </ProgressBar.Foreground>
            <ProgressBar.Background>
                <LinearGradientBrush EndPoint="0.5,0.75" StartPoint="0.5,0.25">
                    <GradientStop Color="#84472C21" Offset="0"/>
                    <GradientStop Color="#4FF7C331" Offset="1"/>
                </LinearGradientBrush>
            </ProgressBar.Background>
        </ProgressBar>


А вот собственно стили и сам template:

Код

    <LinearGradientBrush x:Key="ProgressBarBackground" EndPoint="1,0" StartPoint="0,0">
        <GradientStop Color="#BABABA" Offset="0"/>
        <GradientStop Color="#C7C7C7" Offset="0.5"/>
        <GradientStop Color="#BABABA" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarBorderBrush" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="#B2B2B2" Offset="0"/>
        <GradientStop Color="#8C8C8C" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarGlassyHighlight" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="#50FFFFFF" Offset="0.5385"/>
        <GradientStop Color="#00FFFFFF" Offset="0.5385"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarTopHighlight" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="#80FFFFFF" Offset="0.05"/>
        <GradientStop Color="#00FFFFFF" Offset="0.25"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarIndicatorAnimatedFill" MappingMode="Absolute" EndPoint="0,0" StartPoint="-100,0">
        <GradientStop Color="#00000000" Offset="0"/>
        <GradientStop Color="#FF000000" Offset="0.4"/>
        <GradientStop Color="#FF000000" Offset="0.6"/>
        <GradientStop Color="#00000000" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarIndicatorDarkEdgeLeft" EndPoint="1,0" StartPoint="0,0">
        <GradientStop Color="#0C000000" Offset="0"/>
        <GradientStop Color="#20000000" Offset="0.3"/>
        <GradientStop Color="#00000000" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarIndicatorDarkEdgeRight" EndPoint="1,0" StartPoint="0,0">
        <GradientStop Color="#00000000" Offset="0"/>
        <GradientStop Color="#20000000" Offset="0.7"/>
        <GradientStop Color="#0C000000" Offset="1"/>
    </LinearGradientBrush>
    <RadialGradientBrush x:Key="ProgressBarIndicatorLightingEffectLeft" RelativeTransform="1,0,0,1,0.5,0.5" RadiusX="1" RadiusY="1">
        <GradientStop Color="#60FFFFC4" Offset="0"/>
        <GradientStop Color="#00FFFFC4" Offset="1"/>
    </RadialGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarIndicatorLightingEffect" EndPoint="0,0" StartPoint="0,1">
        <GradientStop Color="#60FFFFC4" Offset="0"/>
        <GradientStop Color="#00FFFFC4" Offset="1"/>
    </LinearGradientBrush>
    <RadialGradientBrush x:Key="ProgressBarIndicatorLightingEffectRight" RelativeTransform="1,0,0,1,-0.5,0.5" RadiusX="1" RadiusY="1">
        <GradientStop Color="#60FFFFC4" Offset="0"/>
        <GradientStop Color="#00FFFFC4" Offset="1"/>
    </RadialGradientBrush>
    <LinearGradientBrush x:Key="ProgressBarIndicatorGlassyHighlight" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="#90FFFFFF" Offset="0.5385"/>
        <GradientStop Color="#00FFFFFF" Offset="0.5385"/>
    </LinearGradientBrush>
    <Style x:Key="H2BProgressBar" TargetType="{x:Type ProgressBar}">
        <Setter Property="Foreground" Value="#01D328"/>
        <Setter Property="Background" Value="{StaticResource ProgressBarBackground}"/>
        <Setter Property="BorderBrush" Value="{StaticResource ProgressBarBorderBrush}"/>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ProgressBar}">
                    <Grid SnapsToDevicePixels="true" x:Name="Background">
                        <Rectangle Fill="{TemplateBinding Background}" RadiusX="2" RadiusY="2"/>
                        <Rectangle Margin="1" x:Name="PART_Track"/>
                        <Decorator HorizontalAlignment="Left" Margin="1" x:Name="PART_Indicator">
                            <Grid x:Name="Foreground">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition MaxWidth="15"/>
                                    <ColumnDefinition Width="0.1*"/>
                                    <ColumnDefinition MaxWidth="15"/>
                                </Grid.ColumnDefinitions>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <Rectangle x:Name="Indicator" Fill="{TemplateBinding Foreground}" Grid.ColumnSpan="3" Grid.RowSpan="2"/>
                                <Rectangle x:Name="Animation" Fill="{TemplateBinding Foreground}" Grid.ColumnSpan="3" Grid.RowSpan="2" Visibility="Visible">
                                    <Rectangle.OpacityMask>
                                        <MultiBinding>
                                            <MultiBinding.Converter>
                                                <Microsoft_Windows_Themes:ProgressBarHighlightConverter/>
                                            </MultiBinding.Converter>
                                            <Binding Source="{StaticResource ProgressBarIndicatorAnimatedFill}"/>
                                            <Binding Path="ActualWidth" ElementName="Background"/>
                                            <Binding Path="ActualHeight" ElementName="Background"/>
                                        </MultiBinding>
                                    </Rectangle.OpacityMask>
                                </Rectangle>
                                <Rectangle Margin="1,4,0,-2" x:Name="LeftDark" Fill="{StaticResource ProgressBarIndicatorDarkEdgeLeft}" RadiusX="1" RadiusY="1" Grid.RowSpan="2"/>
                                <Rectangle Margin="0,1,1,1" x:Name="RightDark" Fill="{StaticResource ProgressBarIndicatorDarkEdgeRight}" RadiusX="1" RadiusY="1" Grid.Column="2" Grid.RowSpan="2"/>
                            </Grid>
                        </Decorator>
                        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="Orientation" Value="Vertical">
                            <Setter Property="LayoutTransform" TargetName="Background">
                                <Setter.Value>
                                    <RotateTransform Angle="-90"/>
                                </Setter.Value>
                            </Setter>
                            <Setter Property="LayoutTransform" TargetName="PART_Track">
                                <Setter.Value>
                                    <RotateTransform Angle="90"/>
                                </Setter.Value>
                            </Setter>
                            <Setter Property="LayoutTransform" TargetName="PART_Indicator">
                                <Setter.Value>
                                    <RotateTransform Angle="90"/>
                                </Setter.Value>
                            </Setter>
                            <Setter Property="LayoutTransform" TargetName="Foreground">
                                <Setter.Value>
                                    <RotateTransform Angle="-90"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                        <Trigger Property="IsIndeterminate" Value="true">
                            <Setter Property="Visibility" TargetName="LeftDark" Value="Collapsed"/>
                            <Setter Property="Visibility" TargetName="RightDark" Value="Collapsed"/>
                            <Setter Property="Visibility" TargetName="Indicator" Value="Collapsed"/>
                        </Trigger>
                        <Trigger Property="IsIndeterminate" Value="false">
                            <Setter Property="Fill" TargetName="Animation" Value="#80B5FFA9"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


Это сообщение отредактировал(а) mirageb - 13.1.2009, 15:29
PM MAIL   Вверх
Partizan
Дата 13.1.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



mirageb, проблема таки решилась?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
mirageb
Дата 13.1.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.4.2007

Репутация: нет
Всего: нет



Вопрос решился, надо было изменить цвет в триггере IsIndeterminate.

<Trigger Property="IsIndeterminate" Value="false">
<Setter Property="Fill" TargetName="Animation" Value="#80B5FFA9"/>
</Trigger>


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.