В представлении списка я меняю несколько таблиц данных следующим образом.
<DataTemplate>
<ContentControl Content="{Binding}">
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Setter Property="ContentTemplate" Value="{StaticResource FileDownloading}" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Status}" Value="Complete" />
<Condition Binding="{Binding Path=FileExists}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="ContentTemplate" Value="{StaticResource FileMissing}" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Status}" Value="Complete" />
<Condition Binding="{Binding Path=FileExists}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="ContentTemplate" Value="{StaticResource FileCompleted}" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</DataTemplate>
В ресурсах окна у меня есть раскадровка, среди которых есть и другие.
<Storyboard x:Key="sbShowDeleteIcon">
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="gridWait" Storyboard.TargetProperty="(UIElement.Opacity)">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
<EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
В одном изданные приводятся к значению, когда указатель мыши находится над элементом, а затем изменяется непрозрачность сетки с объектом Target с именем gridWait.
Проблема, которая существует, заключается в том, что если указанная раскадровка в настоящее время используется, так как указатель мыши находится над этим элементом иStyleTriggers изменили табличку с данными, затем раскадровка вызывает ошибку, поскольку она больше не может найти gridWait.
Что я пробовал?
- Я добавил фальшивый элемент симя gridWait для других таблиц данных.Но у раскадровки все еще была проблема.
- Мне понадобилась раскадровка только для 1 таблицы данных, поэтому я переместил раскадровку из Window.Resources в ресурс элемента в этой единственной таблице данных.Это также не удалось.
Как мне это сделать?