zoukankan      html  css  js  c++  java
  • VisualStudio 调试时会不断刷新 WPF 应用渲染

    在 VisualStudio 附加调试和没有用 VisualStudio 附加调试时,对应用程序是有不同的影响,如 VisualStudio 设计器将会在附加调试 WPF 应用的时候,不断刷新 WPF 应用的渲染。也就是说,如果你觉得界面视觉效果不对或者对,也许可以甩锅到 VisualStudio 上

    在上一篇博客告诉大家,在 WPF 中更改 DrawingVisual 的 RenderOpen 用到的对象的内容将持续影响渲染效果,详细请看 WPF 更改 DrawingVisual 的 RenderOpen 用到的对象的内容将持续影响渲染效果

    通过以下简单的逻辑可以实现一个矩形动画的功能

            private async void SetTranslateTransform(TranslateTransform translateTransform)
            {
                while (true)
                {
                    translateTransform.X++;
    
                    if (translateTransform.X > 700)
                    {
                        translateTransform.X = 0;
                    }
    
                    await Task.Delay(TimeSpan.FromMilliseconds(10));
                }
            }
    

    在 VisualStudio 附加调试下的视觉效果如下图,可以播放动画

    然而有趣的是,在 VisualStudio 不附加调试的时候,可以发现界面不动了,如下图。下图非静止图片哦

    如果在不附加调试时,有界面刷新时,那么依然还会动画。如上图,在鼠标在按钮上时,此时按钮界面需要刷新,于是触发了渲染。在触发渲染时,在收集的时候,重新拿到了 TranslateTransform 的值,矩形的渲染坐标更改

    通过上面的例子可以看到,在附加 VisualStudio 调试时,界面将不断触发渲染,有时的动画效果就是在附加 VisualStudio 调试时看起来才是对的,或者看起来不对。因此在编写效果,需要在干掉 VisualStudio 调试看一下效果

    本文所有代码放在 githubgitee 欢迎小伙伴访问

    可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码

    git init
    git remote add origin https://gitee.com/lindexi/lindexi_gd.git
    git pull origin 2af349867a6e6da136e5bc068357877f38788216
    

    以上使用的是 gitee 的源,如果 gitee 不能访问,请替换为 github 的源

    git remote remove origin
    git remote add origin https://github.com/lindexi/lindexi_gd.git
    

    获取代码之后,进入 KebelrafoRalneanarjeargi 文件夹

    博客园博客只做备份,博客发布就不再更新,如果想看最新博客,请到 https://blog.lindexi.com/

    知识共享许可协议
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名[林德熙](http://blog.csdn.net/lindexi_gd)(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我[联系](mailto:lindexi_gd@163.com)。
  • 相关阅读:
    HTML5 WebAudioAPI-实例(二)
    HTML5 WebAudioAPI简介(一)
    HTML5 <Audio/>标签Api整理(二)
    HTML5 <Audio>标签API整理(一)
    CSS3 box-sizing 属性
    CSS3新增Hsl、Hsla、Rgba色彩模式以及透明属性(转)
    CSS3 颜色值HSL表示方式&简单实例
    C#使用Process类调用外部程序(转)
    乐视手机查看运行内存方法、EUI(Eco User Interface)乐视系统查看手机运行内存方法
    HTML5媒体播放说明
  • 原文地址:https://www.cnblogs.com/lindexi/p/15150819.html
Copyright © 2011-2022 走看看