powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Непонятное поведение DoubleAnimationUsingKeyFrames
4 сообщений из 4, страница 1 из 1
Непонятное поведение DoubleAnimationUsingKeyFrames
    #39806443
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый!
Сделал чекс-бокс в iOS стиле:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
<Style x:Key="iOSCheckBox" TargetType="{x:Type CheckBox}">
    <Setter Property="Background" Value="{StaticResource CheckBoxDefaultBackground}" />
    <Setter Property="BorderBrush" Value="{StaticResource CheckBoxDefaultBorderBrush}" />
    <Setter Property="Cursor" Value="Hand"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="CheckBox">
                <Viewbox Stretch="Uniform">
                    <Canvas Width="20" Height="20">
                        <Border Width="35" Height="20"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="0.5,0.5,0.5,0.5"
                                CornerRadius="10"/>
                        <Ellipse x:Name="ellipse"  Canvas.Left="0" Width="20" Height="20" 
                                 Fill="{StaticResource CheckBoxEllipseBackground}" 
                                 Stroke="{TemplateBinding BorderBrush}" 
                                 StrokeThickness="0.3">
                            <Ellipse.RenderTransform>
                                <TranslateTransform X="0" Y="0" />
                            </Ellipse.RenderTransform>
                            <Ellipse.Effect>
                                <DropShadowEffect Opacity="0.5" ShadowDepth="0.5" Color="LightGray"/>
                            </Ellipse.Effect>
                        </Ellipse>
                    </Canvas>
                </Viewbox>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsChecked" Value="True" >
                        <Trigger.EnterActions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <ColorAnimation Storyboard.TargetProperty="Background.Color" To="{StaticResource CheckBoxChekedBackground}" Duration="0:0:0.2" />
                                    <ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" To="{StaticResource CheckBoxChekedBorderBrush}" Duration="0:0:0.2" />
                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Ellipse.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="ellipse">
                                        <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
                                        <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="15" KeySpline="0, 1, 0.6, 1"/>
                                    </DoubleAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard>
                        </Trigger.EnterActions>
                        <Trigger.ExitActions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <ColorAnimation Storyboard.TargetProperty="Background.Color" To="{StaticResource CheckBoxUnchekedBackground}" Duration="0:0:0.2" />
                                    <ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" To="{StaticResource CheckBoxUnchekedBorderBrush}" Duration="0:0:0.2" />
                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Ellipse.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="ellipse">
                                        <SplineDoubleKeyFrame KeyTime="0" Value="15"/>
                                        <SplineDoubleKeyFrame KeyTime="0:0:0.3" Value="0" KeySpline="0, 0.5, 0.5, 1"/>
                                    </DoubleAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard>
                        </Trigger.ExitActions>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


Кинул на форму чекс-бокс и 2 кнопки с картинками:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center">
    <CheckBox Width="22" Height="22" Style="{StaticResource iOSCheckBox}"/>
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
        <Button Width="24" Height="24"
                ToolTip="Просмотр">
            <Button.Content>
                <Image Source="Images/View.png"/>
            </Button.Content>
        </Button>
        <Button Width="24" Height="24" Margin="2,0"
                ToolTip="Редактировать">
            <Button.Content>
                <Image Source="Images/Edit.png"/>
            </Button.Content>
        </Button>
    </StackPanel>
</StackPanel>


Через несколько сек после запуска, с кнопок пропадают картинки. Если закомментировать блок:
Код: xml
1.
2.
3.
4.
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Ellipse.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="ellipse">
    <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
    <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="15" KeySpline="0, 1, 0.6, 1"/>
</DoubleAnimationUsingKeyFrames>


проблема пропадает. Почему такое происходит?
...
Рейтинг: 0 / 0
Непонятное поведение DoubleAnimationUsingKeyFrames
    #39806444
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вынести картинки из кнопок, то изображение не пропадает. Есть какие идеи, почему такое происходит?
...
Рейтинг: 0 / 0
Непонятное поведение DoubleAnimationUsingKeyFrames
    #39806446
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорян, что 3 сообщения создал, просто пробую...в общем, обновляется Content у кнопок. Не важно что там, текст или изображение.
...
Рейтинг: 0 / 0
Непонятное поведение DoubleAnimationUsingKeyFrames
    #39806462
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кто захочет потестить, вот кисти для чекс-бокс стиля:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<SolidColorBrush x:Key="CheckBoxDefaultBackground" Color="DarkGray"/>
<SolidColorBrush x:Key="CheckBoxDefaultBorderBrush" Color="#EAEAEB"/>

<Color x:Key="CheckBoxUnchekedBackground" A="255" R="169" G="169" B="169"/>
<Color x:Key="CheckBoxUnchekedBorderBrush" A="255" R="234" G="234" B="235"/>

<Color x:Key="CheckBoxChekedBackground" A="255" R="82" G="212" B="104"/>
<Color x:Key="CheckBoxChekedBorderBrush" A="255" R="65" G="201" B="85"/>

<SolidColorBrush x:Key="CheckBoxEllipseBackground" Color="White"/>
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Непонятное поведение DoubleAnimationUsingKeyFrames
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]