关于UI模块的解耦,说简单点,首先需要配置菜单与对应操作类的映射关系(或存放于配置文件,或继承接口直接写死在模块代码中,或存放到数据库,原理都一样),然后在菜单加载时,读取配置项动态生成菜单或是其他控件列表,同时为对应菜单项添加点击之类的事件,最后在事件中利用反射生成模块的实例(与界面相关的还需加到父容器中). 下面就我写的部分代码做一说明.具体效果见 wpf企业级开发中的几种常见业务场景 首先界面放置两个容器,一个放菜单,一个放模块UI.其中avalonDock是一个布局容器,可实现类似VS的