Wpf 材料设计日期选择器主题

3

我可以使用以下代码成功构建日期选择器。

<Button  x:Name="ButtonOpenDialog" Content="..." IsEnabled="True" 
            Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}" CommandTarget="{Binding ElementName=PopupAddCustom}"/>
<materialDesign:DialogHost Name="PopupAddCustom" HorizontalAlignment="Center" VerticalAlignment="Center" IsOpen="False"
            materialDesign:DialogHost.DialogOpenedCallback="CalendarDialogOpenedEventHandler"
            materialDesign:DialogHost.DialogClosingCallback="CalendarDialogClosingEventHandler">
    <materialDesign:DialogHost.DialogContent>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,-2,0,2">
                <Calendar x:Name="MaterialCalendar" Margin="-1 -4 -1 0" IsTodayHighlighted="False" SelectedDatesChanged="MaterialCalendar_SelectedDatesChanged"/>
            </StackPanel>
            <StackPanel Grid.Row="1" Margin="8" HorizontalAlignment="Right" Orientation="Horizontal">
                <Button Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}" IsDefault="True" Margin="20 0"
            CommandParameter="1" >OK</Button>
                <Button Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}" IsCancel="True"
            CommandParameter="0" >CANCEL</Button>
            </StackPanel>
        </Grid>
    </materialDesign:DialogHost.DialogContent>
</materialDesign:DialogHost>

但我想要改变前景色和背景色。如图所示:

enter image description here

  • 标题背景颜色 => 灰色
  • 标题文本前景色 => 白色
  • 图标颜色 => 白色
  • 月份文本前景色 => 白色
  • 主背景颜色 => 黑色
  • 主文本前景色 => 白色
如何实现?是否可以在不更改原始源代码的情况下进行更改?
1个回答

3

您可以将CalendarBackground属性设置为Black,并覆盖两个资源:

<Calendar x:Name="MaterialCalendar" Margin="-1 -4 -1 0" 
          IsTodayHighlighted="False"
          Background="Black">
    <Calendar.Resources>
        <SolidColorBrush x:Key="PrimaryHueMidBrush" Color="Gray" />
        <SolidColorBrush x:Key="MaterialDesignBody" Color="White" />
    </Calendar.Resources>
</Calendar>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接