设置宽度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
的动画。完美!正是这样!谢谢!!