在MaterialDesignInXamlToolkit中使用其他色板的颜色

时间:2018-11-26 14:05:47

标签: wpf material-design-in-xaml

我在WPF应用程序中使用MaterialDesignInXamlToolkit。如文档here所述,我在App.xaml主文件中为整个应用设置了主色和强调色。

但是,我的应用程序中有些地方我想使用与App.xaml中定义的颜色不同的颜色。

有没有简单的方法可以做到这一点?像这样:

<Button Style="{StaticResource MaterialDesignFloatingActionMiniButton}" Height="32" Width="32"
    Background="{StaticResource MaterialDesignColors.Amber.Primary"> <!-- something like this... -->
    ...
</Button>

或类似的东西。能做到吗?

1 个答案:

答案 0 :(得分:1)

可以做到,但是有点麻烦,您需要将色板添加到您的资源中

<UserControl.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/MaterialDesignColor.Lime.Accent.xaml" />
    </ResourceDictionary.MergedDictionaries>   
  </ResourceDictionary>
</UserControl.Resources>

然后您可以使用色板中所需的颜色创建画笔

<Button Style="{StaticResource MaterialDesignFloatingActionMiniButton}" Height="32" Width="32">
   <Grid.Background>
     <SolidColorBrush Color="{StaticResource Accent700}"/>
   </Grid.Background>
</Button>