如何彻底解决WPF应用程序中空域问题(Airspace issuse)以优化用户体验?
- 内容介绍
- 文章标签
- 相关推荐
本文共计503个文字,预计阅读时间需要3分钟。
领域问题源于Winform与WPF在底层渲染机制上的区别。多数情况下,开发者为了实现不规则窗口体并加载Winform控件时,会遇到此类问题。当WPF窗口体设置为允许透明(即Allo)时,问题尤为明显。
空域问题是由于Winform与WPF在底层渲染机制上有所区别而导致的。多数情况下,开发者为了实现不规则的窗体并承载Winform控件时,遇到此类问题。当WPF窗体设置为允许透明(也就是AllowsTransparency=True)时,Winform Control 会出现不显示等情况,为了避免此问题,许多UI框架在实现不规则窗体时,用Win32 API 去实现不规则窗体的一些特效,比如透明,圆角等,这样WPF窗口的AllowsTransparency属性就可以设为FALSE,从而绕过了空域问题。但对于没有接触过Window底层开发的同学开发成本会比较高,而且有些特殊情况下,必须设AllowsTransparency为True时,该如何解决?
- 第一种也是网络上最普遍的方法,简单说就是内嵌窗体,这个方法就不再说明。
本文共计503个文字,预计阅读时间需要3分钟。
领域问题源于Winform与WPF在底层渲染机制上的区别。多数情况下,开发者为了实现不规则窗口体并加载Winform控件时,会遇到此类问题。当WPF窗口体设置为允许透明(即Allo)时,问题尤为明显。
空域问题是由于Winform与WPF在底层渲染机制上有所区别而导致的。多数情况下,开发者为了实现不规则的窗体并承载Winform控件时,遇到此类问题。当WPF窗体设置为允许透明(也就是AllowsTransparency=True)时,Winform Control 会出现不显示等情况,为了避免此问题,许多UI框架在实现不规则窗体时,用Win32 API 去实现不规则窗体的一些特效,比如透明,圆角等,这样WPF窗口的AllowsTransparency属性就可以设为FALSE,从而绕过了空域问题。但对于没有接触过Window底层开发的同学开发成本会比较高,而且有些特殊情况下,必须设AllowsTransparency为True时,该如何解决?
- 第一种也是网络上最普遍的方法,简单说就是内嵌窗体,这个方法就不再说明。

