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