wpf 动态改变窗口大小动画

想做一个在指定屏幕位置弹出窗口到最大化的动画效果,弹出是要不断的改变窗口的位置和窗口的高宽。
用wpf的动画效果动态改变窗体的宽度和高度,这样实现时发现显示弹出效果时不连贯,应该是改变窗口高宽时,内部的控件也随之变化而出现闪屏。

请问可以这样实现弹出效果吗?或者有什么别的办法实现弹出动画,谢谢!

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这篇文章:解决 WPF 嵌套的子窗口在改变窗口大小的时候闪烁的问题
  • 除此之外, 这篇博客: WPF 透明窗口可以调整尺寸(通过拖拽窗口边缘)中的 等比例的改变窗口中控件的大小 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    那我们可以在更改窗口大小时,等比例的更改窗口中控件的大小吗?
    当然可以啦!
    这里我们用Viewbox控件,就可以实现这个功能啦!

    第1步:我们只需要把所有的控件都放进Viewbox控件中。
    在这里插入图片描述

    第2步:然后,设置Viewbox的Stretch属性为UniformToFill
    在这里插入图片描述

    第3步:现在,我们缩放窗口时,窗口中的内容也会自动等比例进行缩放啦!
    在这里插入图片描述

    代码 (MainWindow.xaml):

    <Window x:Class="ResizeTransparentWindow.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:ResizeTransparentWindow"
            mc:Ignorable="d"
            Title="MainWindow" Height="600" Width="800"
            
    
            Background="Transparent"
            AllowsTransparency="True"
            WindowStyle="None">
    
    
        <!--WindowChrome-->
        <WindowChrome.WindowChrome>
            <WindowChrome CaptionHeight="0" ResizeBorderThickness="20"/>
        </WindowChrome.WindowChrome>
    
    
        <!--Viewbox-->
        <Viewbox Stretch="UniformToFill">
        
            <!--内容(Content)-->
            <Grid Width="800" Height="600">
        
                <!--背景(Background)-->
                <Border Margin="10" Background="White" CornerRadius="25">
                    <Border.Effect>
                        <DropShadowEffect Direction="0" ShadowDepth="0" BlurRadius="20" 
                                          Opacity="0.25" Color="#FF5B5B5B">		
                        </DropShadowEffect>
                    </Border.Effect>
                </Border>
        
                <!--按钮(Button)-->
                <Button Width="400" Height="200">
                    <TextBlock Width="400" Height="100" TextAlignment="Center"
                               FontSize="70" FontFamily="Source Han Sans CN Medium"
                               Text="Hello"/>
                </Button>
        
            </Grid>
        
        </Viewbox>
    
    </Window>
    




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^