我有这样的疑问。 我想通过单击按钮调整窗口大小并更改某些网格的边距,然后通过使用eventtriggers和XAML单击另一个按钮来设置后面的动画。 这些按钮位于窗口中,但不在该网格中。
我需要使用storyboard.target或storyboard.targetname来完成此操作。 例如,我有这段代码:
<Window blabla
x:Name="window">
<Grid>
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<EventTrigger RoutedEvent="Click">
<BeginStoryBoard>
<StoryBoard>
<DoubleAnimation From="300"
To="500"
Duration="0:0:1"
StoryBoard.Target="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
StoryBoard.TargetProperty="Height"/>
<ThicknessAnimation From="0"
To="20"
Duration="0:0:1"
StoryBoard.TargetName="grid"
StoryBoard.TargetProperty="Margin"/>
</StoryBoard>
</BeginStoryBoard>
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<Button>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<EventTrigger RoutedEvent="Click">
<BeginStoryBoard>
<StoryBoard>
<DoubleAnimation From="500"
To="300"
Duration="0:0:1"
StoryBoard.Target="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
StoryBoard.TargetProperty="Height"/>
<ThicknessAnimation From="20"
To="0"
Duration="0:0:1"
StoryBoard.TargetName="grid"
StoryBoard.TargetProperty="Margin"/>
</StoryBoard>
</BeginStoryBoard>
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Grid>
<Grid x:Name="grid"/>
</Window>
但是这段代码不起作用。
所以,我已经在这个论坛上搜索过,但我找不到任何有用的解决方案。
你能告诉我一些代码如何实现这个目标吗?