2012-03-18 2 views
0

Я пытаюсь перевести прямоугольник на доступ Y с помощью DataTrigger. Он отлично работает, за исключением того, что я хочу, чтобы прямоугольник переместился из текущего преобразованного состояния вместо перезапуска из исходного состояния. Я хотел бы все решение XAML. Я попытался установить свойство Completed, но WPF этого не допустит. Спасибо заранее.Rectangle animation

<DataTrigger Binding="{Binding CurrentFloor}" Value="5"> 
    <DataTrigger.EnterActions> 
     <BeginStoryboard Name="sb5"> 
      <Storyboard> 
       <DoubleAnimation 
        To="5" 
        Storyboard.TargetProperty="RenderTransform.Y" 
        Duration="0:0:2" 
       /> 
      </Storyboard> 
     </BeginStoryboard> 
    </DataTrigger.EnterActions> 
    <DataTrigger.ExitActions> 
     <RemoveStoryboard BeginStoryboardName="sb5" /> 
    </DataTrigger.ExitActions> 
</DataTrigger> 
<DataTrigger Binding="{Binding CurrentFloor}" Value="4"> 
    <DataTrigger.EnterActions> 
     <BeginStoryboard Name="sb4"> 
      <Storyboard> 
       <DoubleAnimation 
        To="75" 
        Storyboard.TargetProperty="RenderTransform.Y" 
        Duration="0:0:2" /> 
      </Storyboard> 
     </BeginStoryboard> 
    </DataTrigger.EnterActions> 
    <DataTrigger.ExitActions> 
     <RemoveStoryboard BeginStoryboardName="sb4" /> 
    </DataTrigger.ExitActions> 
</DataTrigger> 
+0

Просто добавьте Из свойства для раскадровки – Cobold

+0

я не знаю От значения свойства. Это какая бы ни была текущая позиция трансформации. – user1276682

+0

Если у вас есть прямоугольник в холсте, вы можете привязать свойство холста к верху или левому положению к свойству From. – Cobold

ответ

1

Использование <DoubleAnimation By="5" .../> не <DoubleAnimation To="5" .../>