WPF中针对不同客户的不同GUI定义
本文关键字:GUI 定义 客户 WPF | 更新日期: 2023-09-27 18:15:27
我有一个为不同客户定制的项目,仅在UI中。代码是完全一样的
现在,我复制了整个项目,为客户提供了不同的UI(主要是按钮对齐)。是否有可能只交换UI定义/指定在构建期间使用,所以我不需要复制整个项目?
类似:
UI_cust1
UI_cust2
UI_cust3
...
与
构建
UI_cust2
能否提供从XML文件中读取值的类的配置提供程序类型?
然后可以为每个客户编辑XML。
我认为,如果您创建提供程序作为数据源,然后包含一个转换器,该转换器将键作为参数返回特定值,您应该能够为您想要控制的每个属性创建键。
我在过去做过类似的本地化和主题解决方案,它奏效了。可惜我手头没有代码
我建议您养成在所有项目中使用IOC(控制反转)容器的习惯。它迫使你使用依赖注入,这给了你一个更模块化的架构。
大多数IOC容器支持XML文件来注册依赖项。这样,您只需要为不同的客户更改XML配置文件。现在,您的应用程序对每个客户都有不同的行为/外观。
作为奖励,您的应用程序将更容易测试。在构建应用程序时最好使用TDD(测试驱动开发),这将使整个IOC/DI体验感觉非常自然。
AutoFac是一个很好的IOC容器,它非常简单,但功能强大。