Начните раскадровку на более чем одной цели - PullRequest
1 голос
/ 02 октября 2009

У меня есть подкласс ListBox со свойством зависимости SelectedItemChanging, которое установлено в Storyboard. Когда выбранный элемент изменяется, я хочу запустить этот Storyboard для каждого элемента в ListBox.

Как это возможно с одним экземпляром Storyboard?

Ответы [ 2 ]

1 голос
/ 05 октября 2009

Раскадровки WPF имеют метод клонирования . У Silverlight этого нет, но я решил опубликовать его на тот случай, если кто-нибудь наткнется на это сообщение в поисках решения WPF.

1 голос
/ 02 октября 2009

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

Извините за мой псевдокод.

<Storyboard x:Key="MyEnterStoryboard">
  <!-- Do Enter Work -->
</Storyboard>

<Storyboard x:Key="MyExitStoryboard">
  <!-- Do Exit Work -->
</Storyboard>

<Style TargetType="{x:Type ListBoxItem}">
    <Style.Triggers>
        <Trigger Property="SelectedItemChanging" Value="True">
            <Trigger.EnterActions>
                <BeginStoryboard Storyboard="{StaticResource MyEnterStoryboard}"/>
            </Trigger.EnterActions>
            <Trigger.ExitActions>
                <BeginStoryboard Storyboard="{StaticResource MyExitStoryboard}"/>
            </Trigger.ExitActions>
        </Trigger>
    </Style.Triggers>
</Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...