Свойство Background не указывает на объект dependencyobject в path '(0).(1)'

Я написал этот код и получил исключение: Свойство Background не указывает на dependencyobject в path '(0).(1)'

Я видел эту проблему в других постах на форуме, но не нашол решения.

<WrapPanel.Style>
  <Style>
    <Style.Triggers>
      <Trigger Property "WrapPanel.Visibility" Value="Visible">                            
        <Trigger.EnterActions>
          <BeginStoryboard HandoffBehavior="Compose">
            <Storyboard RepeatBehavior="Forever" AutoReverse="True">
              <ColorAnimation 
                Storyboard.TargetProperty="(WrapPanel.Background).(SolidColorBrush.Color)"
                Duration="00:00:01" To="Red"/>
            </Storyboard>
          </BeginStoryboard>
        </Trigger.EnterActions>
      </Trigger>
    </Style.Triggers>
  </Style>
</WrapPanel.Style>

любая помощь с этим? Спасибо

2 ответов


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

<Setter Property="Background">
    <Setter.Value>
        <SolidColorBrush Color="Blue"/>
    </Setter.Value>
</Setter>

обратите внимание, что вы также можете указать TargetType свойство в вашем стиле, так что вам не нужно префикс всех ссылок на свойства с WrapPanel:

<Style TargetType="WrapPanel">

вы должны установить свойство Background WrapPanel! В противном случае подсистема WPF не распознает ее как SolidColorBrush (может быть и другая кисть).

<WrapPanel Background="White">
...
</WrapPanel>

вполне достаточно.