Удалить фоновую анимацию с помощью XAML С#?

Я создаю заголовок с кнопкой «Назад» и логотипом. Я понял, как добавить фон, используя

<Grid Grid.ColumnSpan="2" Background="Black">
[...]
</Grid>

Но теперь я заканчиваю тем, что фон является частью перехода анимации страницы. То, что я хочу, точно такое же, как фон заголовка в демонстрационном приложении Microsoft Contoso News на их "Анимация пользовательского интерфейса". Это первое видео показывает, что весь контент в приложении анимирован со статическим заголовком.

Я пробовал несколько поисков и собирал код, который, как я думал, будет работать, в том числе возился с <EntranceThemeTransition FromHorizontalOffset="0" FromVerticalOffset="0"/>. Если я что-то не упустил, я не могу найти документацию по удалению анимации.

Мы будем очень признательны за шаг в правильном направлении. Спасибо.


person synth3tk    schedule 23.09.2012    source источник
comment
Вы пытались вместо этого установить фон на странице?   -  person N_A    schedule 29.09.2012
comment
Как именно мне это сделать? Должен ли я использовать смесь?   -  person synth3tk    schedule 01.10.2012
comment
Найдите элемент верхнего уровня на своей странице и установите для него фон.   -  person N_A    schedule 01.10.2012
comment
Я понял, как настроить анимацию. Набираю ответ прямо сейчас. Спасибо!   -  person synth3tk    schedule 01.10.2012


Ответы (1)


Думаю, я недостаточно внимательно прочитал документацию Microsoft во время сеанса в 3 часа ночи.

Что мне нужно было сделать, так это добавить пользовательский EntranceThemeTransition к родителю:

<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition FromHorizontalOffset="0" IsStaggeringEnabled="false"/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

FromHorizontalOffset="0" говорит ему перемещать ноль пикселей по горизонтали (другими словами, вообще не анимировать), а IsStaggeringEnabled="false" говорит ему отображать все элементы одновременно. Отсюда я могу добавить пользовательскую анимацию для каждого из дочерних элементов.

Ресурсы MSDN:
Свойство IsStaggeringEnabled
Свойство FromHorizontalOffset

person synth3tk    schedule 01.10.2012