【问题标题】:Resize window with Visual State Manager使用 Visual State Manager 调整窗口大小
【发布时间】:2010-03-11 18:18:15
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: c# wpf visualstatemanager


    【解决方案1】:

    如果你有混合,去试试故事板,你可以动画窗口调整大小。如果你没有,这里有一些帮助你开始

    <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();
    

    希望对你有帮助

    【讨论】:

    • 谢谢,你让我明白了,我只是在程序的 StoryBoard GUI 部分中重新制作了它,无论如何谢谢。
    猜你喜欢
    • 2021-09-20
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2011-11-15
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多