2010-02-26 4 views
0

J'essaye d'effectuer une animation couleur sur la propriété fill d'un polygone et d'obtenir cette erreur - Impossible de convertir la valeur de l'attribut 'Style' en objet de type 'System.Windows.Style '. Impossible de résoudre toutes les références de propriété dans le chemin de propriété 'Fill.Color'. Vérifiez que les objets applicables prennent en charge les propriétés. Erreur sur l'objet 'System.Windows.Shapes.Polygon' dans le fichier de marquage.WPF - Animation couleur sur les polygones

Des idées? S'il vous plaît voir ci-dessous mon style XAML. Merci.

<Style TargetType="{x:Type Polygon}" x:Key="ArrowStyle"> 
     <Style.Triggers> 
      <DataTrigger Value="True"> 
       <DataTrigger.Binding> 
        <MultiBinding Converter="{StaticResource NumberIsLessThanParameter}"> 
         <Binding Path="Value" Mode="OneWay"/> 
         <Binding Path="OldValue" Mode="OneWay"/> 
        </MultiBinding> 
       </DataTrigger.Binding> 
       <DataTrigger.EnterActions> 

        <BeginStoryboard Name="ToRedArrow"> 
         <Storyboard TargetProperty="Fill.Color"> 
          <ColorAnimation From="Transparent" To="Red" Duration="0:0:2" AutoReverse="False" /> 
         </Storyboard> 
        </BeginStoryboard> 
       </DataTrigger.EnterActions> 
      </DataTrigger> 
      <DataTrigger Value="False"> 
       <DataTrigger.Binding> 
        <MultiBinding Converter="{StaticResource NumberIsLessThanParameter}"> 
         <Binding Path="Value" Mode="OneWay"/> 
         <Binding Path="OldValue" Mode="OneWay"/> 
        </MultiBinding> 
       </DataTrigger.Binding> 
       <DataTrigger.EnterActions> 
        <BeginStoryboard Name="ToBlueArrow"> 
         <Storyboard TargetProperty="Fill.Color"> 
          <ColorAnimation From="Transparent" To="Blue" Duration="0:0:2" AutoReverse="False"/> 
         </Storyboard> 
        </BeginStoryboard> 
       </DataTrigger.EnterActions> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 

Répondre

0

Le chemin de la propriété ne semble pas valide. Essayez de le changer pour: (Shape.Fill).(SolidColorBrush.Color)

+0

Maintenant, je reçois cette erreur: Impossible de convertir la valeur de l'attribut 'Style' en objet de type 'System.Windows.Style'. La propriété 'Fill' ne pointe pas vers un objet DependencyObject dans le chemin '(0). (1)'. Erreur sur l'objet 'System.Windows.Shapes.Polygon' dans le fichier de marquage. – Alberto

+1

On dirait que l'erreur était due à l'initialisation de la propriété Fill. Mais maintenant, j'ai un comportement étrange - il ne devient jamais rouge. – Alberto