Триггер данных не сработает
У меня есть следующие настройки запуска данных на шаблоне управления
<DataTrigger Binding="{Binding Path=IsDragged}"
Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource Active}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource Unactive}" />
</DataTrigger.ExitActions>
</DataTrigger>
Обычно он срабатывает хотя бы один раз (не всегда) и в какой-то момент прекратится. Некоторые дополнительные интересные заметки:
- В MultiDataTrigger установлено то же свойство, этот триггер всегда срабатывает
- На те же раскадровки ссылаются в другом триггере, они продолжают работать после сбоя этого триггера
Редактировать: MultiDataTriggers настраивается следующим образом:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsActive}"
Value="True" />
<Condition Binding="{Binding Path=IsDragged}"
Value="False" />
<Condition Binding="{Binding Path=IsInCart}"
Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard x:Name="ShowTag_BeginStoryboard"
Storyboard="{StaticResource ShowTag}" />
</MultiDataTrigger.EnterActions>
<MultiDataTrigger.ExitActions>
<BeginStoryboard x:Name="HideTag_BeginStoryboard"
Storyboard="{StaticResource HideTag}" />
</MultiDataTrigger.ExitActions>
</MultiDataTrigger>
1 ответ
Решение
Просто обоснованное предположение, но я сталкивался с чем-то подобным раньше, и оказалось, что мне нужно остановить каждую раскадровку, прежде чем я начну другую, потому что они конфликтуют друг с другом.
Попробуйте добавить в DataTrigger два действия StopStoryboard: одно для остановки активной раскадровки, а другое - для неактивной раскадровки.