设置宽度WPF左侧的动画
我有一个设置宽度WPF左侧的动画,wpf,xaml,animation,wpf-animation,Wpf,Xaml,Animation,Wpf Animation,我有一个网格,我可以通过以下方式制作动画: 当我单击图像时,我可以使用故事板为我的按钮模板设置动画,使其增长到我想要的程度,结果如下: <Storyboard x:Key="ExpandPanelRight"> <DoubleAnimation Storyboard.TargetName="ExpandablePanel" Storyboard.TargetProperty="Width" BeginTime="0:0
网格
,我可以通过以下方式制作动画:
当我单击图像时,我可以使用故事板为我的按钮模板设置动画,使其增长到我想要的程度,结果如下:
<Storyboard x:Key="ExpandPanelRight">
<DoubleAnimation
Storyboard.TargetName="ExpandablePanel"
Storyboard.TargetProperty="Width"
BeginTime="0:0:0"
From="0" To="450" Duration="0:0:0.5"></DoubleAnimation>
</Storyboard>
<Border CornerRadius="10" Background="Blue">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Expanding...." VerticalAlignment="Center" />
<Image Source="Images/Bin.png" VerticalAlignment="Center" HorizontalAlignment="Right" />
</Grid>
</Border>
这或多或少就是结果。动画如下所示:
<Storyboard x:Key="ExpandPanelRight">
<DoubleAnimation
Storyboard.TargetName="ExpandablePanel"
Storyboard.TargetProperty="Width"
BeginTime="0:0:0"
From="0" To="450" Duration="0:0:0.5"></DoubleAnimation>
</Storyboard>
<Border CornerRadius="10" Background="Blue">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Expanding...." VerticalAlignment="Center" />
<Image Source="Images/Bin.png" VerticalAlignment="Center" HorizontalAlignment="Right" />
</Grid>
</Border>
正如您所看到的,从左到右扩展网格没有问题,但我真正想要的是相反的:从右到左扩展网格:
怎么样??我找不到答案。您只需将您的垃圾箱
图像
与可扩展面板的右边缘对齐即可。完成此操作后,面板的宽度增加时,图像将粘在右侧。您的情节提要
和双动画
代码可以保持不变。您的代码应该如下所示:
<Storyboard x:Key="ExpandPanelRight">
<DoubleAnimation
Storyboard.TargetName="ExpandablePanel"
Storyboard.TargetProperty="Width"
BeginTime="0:0:0"
From="0" To="450" Duration="0:0:0.5"></DoubleAnimation>
</Storyboard>
<Border CornerRadius="10" Background="Blue">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Expanding...." VerticalAlignment="Center" />
<Image Source="Images/Bin.png" VerticalAlignment="Center" HorizontalAlignment="Right" />
</Grid>
</Border>
不要认为解决方案在动画中,而是在网格布局中。HorizontalAlignment=“Right”必须在某个地方发挥作用。它可以是解决方案,但我的不是一个扩展器,而是一个包含一些元素的网格。。。您是否建议使用扩展器
而不是网格
?无需使用扩展器
控件。任何控件的宽度
都可以设置动画。如果您使用上述代码,您可以同样轻松地设置边框.Width
的动画。完美!正是这样!谢谢!!