使用Visual State Manager调整窗口大小

时间:2010-03-11 00:18:51

标签: c# wpf visualstatemanager

我正在寻找一种方法来在单击按钮时调整窗口大小,原因是我希望用户认为窗口正在变形为另一个窗口。

每当我在VSM中调整窗口大小时,它只会显示异常和堆栈跟踪导致一堆错误,那么有没有办法完成我想要做的事情?

由于

1 个答案:

答案 0 :(得分:0)

如果你有混合,请尝试使用故事板,你可以在其中调整窗口的动画大小。如果你没有它,这里有一点让你开始

<Window.Resources>
    <Storyboard x:Key="resizeWindow">
        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="{x:Null}" Storyboard.TargetProperty="(FrameworkElement.Width)">
            <SplineDoubleKeyFrame KeyTime="00:00:00" Value="577"/>
            <SplineDoubleKeyFrame KeyTime="00:00:03" Value="25"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="{x:Null}" Storyboard.TargetProperty="(FrameworkElement.Height)">
            <SplineDoubleKeyFrame KeyTime="00:00:00" Value="469"/>
            <SplineDoubleKeyFrame KeyTime="00:00:03" Value="23.5"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>

这是从他的起始值(577,469)到结束值(25,23.5)的窗口。 你可以随时用这个动画开始这个动画:

Storyboard sStory = (Storyboard)this.Resources["resizeWindow"];
sStory.Begin();

希望这有帮助