2009-02-04 7 views
2

Est-ce que quelqu'un sait s'il existe un moyen d'utiliser une propriété animée comme source d'une liaison? Pour autant que je sache, une animation ne définit pas "vraiment" la valeur sur la propriété, et donc ne déclenche pas les événements modifiés, ce qui est nécessaire pour déclencher la liaison.Lier à une propriété animée (WPF)

tia Martin

Répondre

4

Je ne sais pas si ce que vous dites est tout à fait vrai. Dans le code XAML ci-dessous, le TextBlock affichera la largeur du rectangle. Lorsque vous cliquez sur le rectangle, la propriété Width est animée de 50 à 300. À chaque incrément, le TextBlock change de valeur. Est-ce que je ne comprends pas votre question?

<Grid> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="*" /> 
    <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <TextBlock Text="{Binding ElementName=Rect,Path=Width}" Grid.Row="0" /> 
    <Rectangle Grid.Row="1" 
      Name="Rect" 
      Height="30" 
      Width="50" 
      Fill="Blue" 
      HorizontalAlignment="Left"> 
    <Rectangle.Triggers> 
     <EventTrigger RoutedEvent="Rectangle.MouseLeftButtonDown"> 
     <EventTrigger.Actions> 
      <BeginStoryboard> 
      <Storyboard> 
       <DoubleAnimation Storyboard.TargetProperty="Width" 
       From="50" 
       To="300" 
       Duration="0:0:10"/> 
      </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger.Actions> 
     </EventTrigger> 
    </Rectangle.Triggers> 
    </Rectangle> 
</Grid> 
2

animation ne fait vraiment changer la valeur, il fait appeler la propriété que vous passez à changé de rappel DependecyProperty.Register et il ne provoque une mise en page/id passe de rendu nécessaire.

Questions connexes