使用 Visual Studio 开发 WPF 程序时,XAML 设计器能够极大提高我们的开发效率。不止是写出的代码无需运行就能看到效果,还有能够直接在设计器中点击定位元素以及拖拽改变属性。
但是,XAML 开发不总是那么幸运! 因为我们总能在设计器中看到这样的一幕:
如果你看完之后无奈又无助,那这篇文章正好将帮你分析 XAML 设计器出错的各种可能原因以及解决这些问题的思路。
XAML 设计器出错的种类
总结起来,XAML 设计器错误有这些种类:
- 加载错误;
你会在设计器中看到各种各样的异常。
- 设计时类型不匹配;
你会发现设计器异常提示无法将某种类型转换为另一种类型。
- 资源未找到;
你会发现设计器里的控件样式变成了默认。
- 控件尺寸难以接受或相互重叠;
有时你可能不得不将控件的尺寸设为 0;或者将多个控件放一起以至于重叠,看不见最底层的那个。
- 控件缺少用以显示的数据。
这种情况多见于绑定 ViewModel,尤其是列表类控件。
严格来说,只有前两种算是错误;但后三种也是让我们为设计器抓狂的罪魁祸首,所以也一并说了吧。
解决 XAML 设计器错误的一般思路
未完待续……
阅读并猜测异常发生的来源
未完待续……
用 VS 调试 VS
未完待续……
实战解决几个典型的 XAML 设计器错误
未完待续……
参考资料
MSDN - Troubleshooting Designer Load Failures
MSDN - How to: Debug a Designer Load Failure
本文会经常更新,请阅读原文: https://blog.walterlv.com/wpf/2016/07/31/solve-xaml-designer-errors.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected]) 。