相关疑难解决方法(0)

WPF将StackPanel的宽度从0设置为自动?

我正在尝试为StackPanel设置动画,当它的可见性从0宽度增加到自动宽度时,这就是我现在所拥有的:

<Trigger Property="Visibility" Value="Visible">
    <Setter Property="Width" Value="0"></Setter>
    <Trigger.EnterActions>
        <BeginStoryboard>
            <Storyboard>
                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Width" Duration="0:0:1">
                    <DiscreteObjectKeyFrame KeyTime="0">
                        <DiscreteObjectKeyFrame.Value>
                            <System:Double>NaN</System:Double>
                        </DiscreteObjectKeyFrame.Value>
                    </DiscreteObjectKeyFrame>
                </ObjectAnimationUsingKeyFrames>
            </Storyboard>
        </BeginStoryboard>
    </Trigger.EnterActions>
</Trigger>
Run Code Online (Sandbox Code Playgroud)

有人可以解释我如何实现这个动画吗?这可能不是我试图做的方式吗?

谢谢,亚历克斯.

.net wpf xaml wpf-controls wpf-4.0

6
推荐指数
1
解决办法
8379
查看次数

ActualWidth作为From WPF动画的值

为什么我不能将其ActualWidth称为值,我可以在代码中使用它.

XAML:

    <StackPanel>
        <Button x:Name="cmdVibrate" HorizontalAlignment="Center">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Button.MouseEnter">
                    <BeginStoryboard>
                        <Storyboard >
                            <DoubleAnimation From="{Binding RelativeSource={RelativeSource Mode=Self},Path=ActualWidth}" By="200" AutoReverse="True" Duration="0:0:1" Storyboard.TargetProperty="Width"></DoubleAnimation>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Button.Triggers>
            Mouse over me to shake
        </Button>
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

wpf actualwidth

3
推荐指数
1
解决办法
6451
查看次数

标签 统计

wpf ×2

.net ×1

actualwidth ×1

wpf-4.0 ×1

wpf-controls ×1

xaml ×1