在开发控件时,是否有人找到针对DesignMode问题的有用解决方案?问题是,如果您嵌套控件,则DesignMode仅适用于第一级。第二和较低级别的DesignMode将始终返回FALSE。标准的技巧是查看正在运行的进程的名称,如果它是“ DevEnv.EXE”,那么它必须是studio,因此DesignMode确实为TRUE。这样做的问题是寻找ProcessName在注册表和其他奇怪的部分中工作,最终结果是用户可能没有查看进程名称所需的权限。此外,这条奇怪的路线非常慢。因此,我们不得不堆积更多的骇客才能使用单例,并且如果在询问进程名称时抛出错误,则假定DesignMode为FALSE。确定DesignMode的一种好方法是按顺序进行的。最终让Microsoft将其内部修复到框架中会更好!
3 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
为什么不检查LicenseManager.UsageMode。此属性的值可以为LicenseUsageMode.Runtime或LicenseUsageMode.Designtime。
您是否要让代码仅在运行时中运行,请使用以下代码:
if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
{
bla bla bla...
}
- 3 回答
- 0 关注
- 531 浏览
添加回答
举报
0/150
提交
取消