Оберните Storyboard
в BeginStoryboard
, поскольку Storyboard
- это не ExitAction
, а BeginStoryboard
.
<BeginStoryboard>
<Storyboard>
<!-- ... -->
</Storyboard>
</BeginStoryboard>
Редактировать:
Поскольку действия выхода могут использоваться только в стилях и шаблонах элементов управления, этот пример необходимо немного реорганизовать.Вот один из способов сделать это: использовать ContentControl
в качестве шаблона ванили и заполнить его содержимым выше.К сожалению, теперь имена теперь скрыты внутри расширения шаблона, но это другой вопрос, поскольку я не знаю точно, как они предназначены для использования.
<ContentControl>
<ContentControl.Template>
<ControlTemplate>
<Grid x:Name="LoginBoxGrid" Width="400" Height="88" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBox >
<TextBox.RenderTransform>
<TranslateTransform x:Name="UNameBoxTranslate"/>
</TextBox.RenderTransform>
</TextBox>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="UIElement.IsVisible" Value="True">
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard >
<DoubleAnimation Storyboard.TargetName="UNameBoxTranslate"
Storyboard.TargetProperty="X" From="0" To="-800" Duration="0:0:0.5"/>
<DoubleAnimation Storyboard.TargetName="UNameBoxTranslate"
Storyboard.TargetProperty="Y" From="0" To="-800" Duration="0:0:0.5"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ContentControl.Template>
</ContentControl>