Установите видимость с помощью триггера - PullRequest
0 голосов
/ 09 августа 2011

Я просто хочу запустить раскадровку, которая делает прямоугольник видимым в течение 2 секунд, когда пользователь нажимает левую кнопку мыши. Но я не мог решить, как получить значение видимости.

<Grid.Triggers>
            <EventTrigger RoutedEvent="MouseDown"  >
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimationUsingKeyFrames BeginTime="0:0:0" Duration="0:0:2" Storyboard.TargetName="RectFront" Storyboard.TargetProperty="Visibility">
                                <LinearDoubleKeyFrame KeyTime="0:0:0.100" Value="1" />
                                <LinearDoubleKeyFrame KeyTime="0:0:2" Value="0" /> <---   HOW to change this into Visibility Type?
                            </DoubleAnimationUsingKeyFrames>

                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Grid.Triggers>

1 Ответ

3 голосов
/ 09 августа 2011

Например:

Value="{x:Static Visibility.Hidden}"

но в некоторых случаях парсер XAML может просто преобразовать обычную строку, например Value="Hidden".

Проблема здесь в том, что для анимации видимости нельзя использовать DoubleAnimationUsingKeyFrames, это должен быть ObjectAnimationUsingKeyFrames.

Если вы хотите постепенно анимировать видимость, вы можете использовать DoubleAnimation (с ключевыми кадрами или без них), но вместо этого вам нужно нацелиться на Opacity.

...