Я использую триггер данных для управления некоторыми раскадными файлами, но это может быть только один раз.использовать данные триггер управления раскадровки, но только триггер один раз
<Style x:Key="PropertyTriggerExampleButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Width" Value="200" />
<Style.Triggers>
<DataTrigger Binding="{Binding para}" Value="0">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width"
To="500" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding para}" Value="1">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width"
To="200" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
<Button Style="{StaticResource PropertyTriggerExampleButtonStyle}">
button width will be changed
</Button>
пара является переменной (уже реализовать INotifyPropertyChanged интерфейс), который будет управление с помощью другой кнопки. его значение равно 0 или 1.
Но когда я нажимаю кнопку, чтобы изменить значение пара, раскадровка запускает только один раз для каждого значения (0 и 1). Это никогда не будет срабатывать позже.
Если я поместил второй раскадровки в тег ExitActions первого триггера данных. он будет работать хорошо. Но у меня есть более чем 2 раскадровки нужно контролировать ......
следующий код работает хорошо, но мне нужно контролировать много раскадровку (более 2) в соответствии с различными значениями ....
<Style.Triggers>
<DataTrigger Binding="{Binding para}" Value="0">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width" To="500" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width" To="200" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
Я использую свой метод. Он работает хорошо. Спасибо вам большое. Но почему старый способ не работает? я очень озадачен ..... –
Существует соревнование между триггерами. Вот пример WPF с наложенным StoryBoard. [link] (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/ffeb5b40-e5c1-4ba1-bb95-b3d2a7ff0d2b/) – Radik
Благодарим вас за полезный ответ. –