- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要 Blend 4 调用一些初始化代码,然后它才能合理地显示我的应用程序,我正在使用 this approach由 Josh Smith 完成。
我正在使用以下项目结构:
MainProgram
-- Properties
-- AssemblyInfo.cs (including the custom attribute)
-- App.xaml
-- HostWindow.xaml (UserControls are embedded here)
-- DesignTimeBootstrapperAttribute.cs
ViewsAssembly
-- Lots of user controls
出于某种原因,设计时 Bootstrap 不会在每次构建后调用(导致我的自定义标记扩展在 Blend 中抛出异常和大量错误消息)。然而,它在最初加载解决方案时被调用,我不明白 Blend 在这里的行为方式。
我做错了什么,或者有其他方法吗?
编辑:我注意到进行完整的重建确实每次都会调用 Bootstrapper。也许这可以作为一种解决方法,但我仍然想了解它。
最佳答案
您能否验证在不执行启动的重建后您是否真的更改了主应用程序的程序集二进制文件? (如果二进制文件没有改变,我希望 Blend 不会评估反射)。我还会尝试使用 solution clean 而不是 rebuld。
作为繁重的解决方法,您可能会考虑在构建后事件中更改解决方案/项目文件(例如,添加空格),这将导致 Blend 重新加载解决方案并再次执行您的自定义启动代码。
附带说明一下,我对 VS XAML UI Designer 进程 (xDesProc) 的体验表明,它并不总能捕捉到我在重新构建后所做的更改,我必须使用任务管理器终止它以强制重新加载,sme 可能会发生与混合。
关于c# - Blend 不调用 DesignTimeBootstrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088016/
我需要 Blend 4 调用一些初始化代码,然后它才能合理地显示我的应用程序,我正在使用 this approach由 Josh Smith 完成。 我正在使用以下项目结构: MainProgram
我是一名优秀的程序员,十分优秀!