Можете ли вы определить раскадровку для воспроизведения до изменения свойства? - PullRequest
3 голосов
/ 12 июня 2009

Например, я включаю и выключаю видимость для определенного элемента. У меня есть триггер, который прослушивает видимость, установленную на Visible, и воспроизводит раскадровку, которая исчезает в элементе.

Итак, с другой стороны, когда элемент имеет значение Hidden, я хочу, чтобы элемент исчез, а затем для свойства было установлено значение Visibility = false. Возможно ли это и если да, то как? В настоящее время у меня есть что-то вроде:

    <Style.Triggers>
        <Trigger Property="Visibility" Value="Visible">
            <Trigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.EnterActions>
            <Trigger.ExitActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.5" />
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.ExitActions>
        </Trigger>
    </Style.Triggers>

1 Ответ

2 голосов
/ 28 июля 2009

Есть еще три класса триггеров, которые бросаются в глаза. Возможно, вы можете использовать другой триггер для достижения того, что вы хотите сделать.

Из MSDN:

Существует несколько различных типов триггеры: триггер , MultiTrigger , EventTrigger , DataTrigger и MultiDataTrigger .

Возможно, использовать DataTrigger для привязки к свойству состояния, которое сообщает UI, что что-то меняется? Или вы можете попробовать использовать пользовательское событие и EventTrigger для достижения того же самого? Просто некоторые мысли ..

...