<Border Name="ItemBorder" Margin="5 5 0 5" BorderBrush="Black" BorderThickness="1" Height="75" Width="75">
<Border.Background>
<SolidColorBrush x:Name="ItemBorderBrush" Color="LightBlue"/>
</Border.Background>
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="someEvent">
<BeginStoryboard>
<Storyboard TargetName="ItemBorderBrush" TargetProperty="Color" Duration="0:0:1" >
<!--Storyboard TargetName="ItemBorder" TargetProperty="Background.Color" Duration="0:0:1"> -->
<ColorAnimation To="White"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
Je vais essayer d'expliquer clairement ma question. Le nom de la cible de Storyboard, lorsqu'il s'agit de "ItemBorder" (la ligne commentée) fonctionne par intermittence. Parfois, j'obtiens une erreur que le nom "ItemBorder" ne peut pas être trouvé dans la portée. J'ai décidé de suivre un style à partir d'un exemple MSDN, et de changer la propriété de couleur directement sur le pinceau, au lieu d'avoir la cible du storyboard comme bordure et de changer la couleur de la bordure par propriété (la ligne commentée). Cela semble fonctionner.Quelle est la signification de x: Nom dans xaml (WPF) et son utilisation avec Storyboard
Cependant, Name="ItemBorderBrush"
ne compile pas parce que Name
n'est pas une propriété de SolidColorBrush
donc j'utilise x:Name="ItemBorderBrush"
deux Name
et x:Name
sont acceptés pour la frontière. Pourquoi est-ce?
Que signifie le x:
signifie (comment est-x:Name
différent de Name
), et pourquoi le fait d'avoir la propriété Name
de frontière ne fonctionne avec le story-board parfois?
voir aussi [En WPF, quelles sont les différences entre les x: Nom et attributs de nom] (http://stackoverflow.com/questions/589874/in-wpf-what-are- the-differences-between-the-xname-and-name-attributs) –