2009-02-04 3 views
2

Кто-нибудь знает, есть ли способ использовать свойство, которое анимируется как источник привязки? Насколько я понял, анимация не «действительно» устанавливает значение в свойстве и поэтому не запускает измененные события, необходимые для запуска привязки.Привязка к анимированной собственности (WPF)

ТИА Martin

ответ

4

Я не знаю, что вы говорите именно так. В XAML ниже, TextBlock покажет ширину прямоугольника. Когда вы нажимаете на Rectangle, свойство Width анимируется от 50 до 300. По каждому приращению значение TextBlock изменяется. Разве я не понимаю ваш вопрос?

<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

Анимация на самом деле действительно изменить значение, это делает вызвать свойство изменилось обратного вызова вы передаете DependecyProperty.Register и это вызывает макет/рендеринга необходимо пройти идентификатор.

Смежные вопросы