UWP WPF 解决 xaml 设计显示异常

本文告诉大家如何解决 xaml 设计显示异常

虽然垃圾微软可以在写的时候直接让开发者看到界面,但是他的设计比较烂,总是无法使用

或者

简单的方法是禁用项目代码,在左下角可以找到这个按钮 禁用代码

另一个方法是设置判断当前是否在设计,如果是就直接返回,一般写在构造函数

WPF

例如我创建一个用户控件 TsjcyubtnTtqtjem 那么就可以在构造函数添加下面代码

        public TsjcyubtnTtqtjem()
        {
            InitializeComponent();

            if (DesignerProperties.GetIsInDesignMode(this))
            {
                return;
            }

            foreach (var temp in typeof(Brushes)
                .GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)
                .Select(temp => temp.GetValue(null, null)))
            {
                var rectangle = new Rectangle
                {
                    Height = 20,
                    Fill = (Brush)temp
                };

                HcrkKmqnnfzo.Children.Add(rectangle);
            }
        }

上面代码实际使用 DesignerProperties.GetIsInDesignMode 判断当前是否设计,如果是就返回,然后关闭这个类再打开一般就可以继续写的时候获得界面。

UWP

在 UWP 可以通过Windows.ApplicationModel.DesignMode.DesignModeEnabled判断,或者通过DesignMode.DesignMode2Enabled判断,因为 DesignMode2Enabled 需要秋季更新以上的才可以使用。

        public AssBjPage()
        {
            this.InitializeComponent();
            if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)
            {
                return;
            }
        }

上面的代码需要在所有的引用控件加上,一般的微软控件不需要,因为他里面有加上


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大内老A

我所理解的Remoting(1):Marshaling & Activation[下篇]

在上面一片文章,我花了大量的文字来来描述了Remote Object如何通过Marshaling的过程从Server端所在的Application Domain...

23160
来自专栏GuZhenYin

使用localResizeIMG3+WebAPI实现手机端图片上传

前言 惯例~惯例~昨天发表的使用OWIN作为WebAPI的宿主..嗯..有很多人问..是不是缺少了什么 - - 好吧,如果你要把OWIN寄宿在其他的地方...代...

23480
来自专栏我和未来有约会

基于Cairngorm的Silverlight开发 - part2

搭建架构 由浅入深的来搭建架构。 从ModelLocator开始 ModelLocator只是Cairngorm中的一个部分,要使用它并不一定要把Cairn...

27950
来自专栏张善友的专栏

jQuery/asp.net mvc DateTime 的处理

在Javascript中的DateTime需要使用new Date(318326400000),asp.net mvc返回的Json时间格式变成了/Date(3...

19570
来自专栏木宛城主

SharePoint 2013 创建 Site Collection

在之前的文章中,通过SharePoint Central Administration 创建了Web Application。在这篇文章中将继续SharePo...

22860
来自专栏跟着阿笨一起玩NET

C#后台调用前台javascript的五种方法

10910
来自专栏葡萄城控件技术团队

ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图。但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上...

340110
来自专栏vue

vue-resource实现数据的绑定、添加、删除

26810
来自专栏一个爱瞎折腾的程序猿

.net core建站踩坑记录

services.AddOptions(); services.Configure<AppSettings>(Configuration...

37420
来自专栏技术之路

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想...

25570

扫码关注云+社区

领取腾讯云代金券