WPF中针对不同客户的不同GUI定义

本文关键字:GUI 定义 客户 WPF | 更新日期: 2023-09-27 18:15:27

我有一个为不同客户定制的项目,仅在UI中。代码是完全一样的

现在,我复制了整个项目,为客户提供了不同的UI(主要是按钮对齐)。是否有可能只交换UI定义/指定在构建期间使用,所以我不需要复制整个项目?

类似:

UI_cust1
UI_cust2
UI_cust3
...

构建

UI_cust2

WPF中针对不同客户的不同GUI定义

能否提供从XML文件中读取值的类的配置提供程序类型?

然后可以为每个客户编辑XML。

我认为,如果您创建提供程序作为数据源,然后包含一个转换器,该转换器将键作为参数返回特定值,您应该能够为您想要控制的每个属性创建键。

我在过去做过类似的本地化和主题解决方案,它奏效了。可惜我手头没有代码

我建议您养成在所有项目中使用IOC(控制反转)容器的习惯。它迫使你使用依赖注入,这给了你一个更模块化的架构。

大多数IOC容器支持XML文件来注册依赖项。这样,您只需要为不同的客户更改XML配置文件。现在,您的应用程序对每个客户都有不同的行为/外观。

作为奖励,您的应用程序将更容易测试。在构建应用程序时最好使用TDD(测试驱动开发),这将使整个IOC/DI体验感觉非常自然。

AutoFac是一个很好的IOC容器,它非常简单,但功能强大。