为什么Catel的TabControl没有被MahApps主题化?

时间:2015-08-14 13:46:53

标签: xaml mahapps.metro catel orchestra

相当多的头衔。 catel:TabControl的背景仍然是白色的,无论MahApps'主题是。

我无法判断它是否是唯一以这种方式行事的Catel控件,因为我没有测试过它们中的每一个。

但事实并非如此,它不会受到MahApps'的影响。选定的主题(BaseDark或BaseLight)。自从我开始使用灯光时,它并不明显,因此TabControl按预期为白色,但一旦我切换到黑暗主题,它仍然是白色。

1 个答案:

答案 0 :(得分:2)

Orchestra(https://github.com/WildGums/Orchestra)已经解决了这个问题。

我认为您应该覆盖Catel的标签控件样式,如下所示: <windows:MetroDataWindow.Resources> <ResourceDictionary> <Style TargetType="catel:TabControl" BasedOn="{StaticResource {x:Type TabControl}}" /> </ResourceDictionary> </windows:MetroDataWindow.Resources>

您可以查看Orchestra中Orchestra.Shell.MahApps项目中的示例:

兴趣点:

  • Orchestra.Examples.MahApps / Orchestra.Examples.MahApps.Shared /查看/ MainView.xaml

  • Orchestra.Shell/Orchestra.Shell.MahApps/Orchestra.Shell.MahApps.Shared/Views/ShellWindow.xaml

要在Orchestra中启用黑暗MahApps主题,您应该将以下代码添加到Orchestra.Shell/Orchestra.Shell.MahApps/Orchestra.Shell.MahApps.Shared/Themes/Generic.xaml <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" />

如果有帮助,请告诉我。