我们有一个由多个不同页面组成的可扩展应用程序。这些页面没有统一的设计——我们公司将应用程序的一部分授权给其他公司,这些公司可能希望拥有自己的设计。
因此,我们有一个主窗口和页面A,采用A公司的设计样式,另一个页面A,但采用公司B的设计样式。“页面A”是WPF用户控件,我们没有想要复制代码,而只是交换视觉外观。
我评估了不同的可能性:
主题:据我了解,这是全球性的。因此,我们不能为第一个页面 A 设置一个主题,而为第二个页面 A 设置另一个主题。
样式:这很好,因为我们可以在运行时分配它。这里的问题是我们的页面不是平面的。它们具有深度嵌套的子控件,因此我们需要递归地为每个子控件分配正确的公司特定样式。
有人有其他想法吗?风格方法是唯一的出路吗?