Привязать к анимированному свойству (WPF) - PullRequest
2 голосов
/ 04 февраля 2009

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

ТИА Martin

Ответы [ 2 ]

4 голосов
/ 04 февраля 2009

Я не знаю, верно ли то, что вы говорите. В приведенном ниже XAML TextBlock будет отображать ширину прямоугольника. При нажатии на прямоугольник свойство 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 голосов
/ 04 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...