Wpf Material 设计日期选择器主题
Wpf Material Design Date-Picker Theme
我可以使用下面的代码成功构建日期选择器。
<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>
但我想更改前景色和背景 color.As 显示:
- 页眉背景颜色为 => 灰色
- 页眉文本前景颜色为 => 白色
- 图标颜色为 => 白色
- 月份文本前景颜色为 => 白色
- 主背景颜色为 => 黑色
- 主 TextForeColor 到 => 白色
我该怎么做?是否可以在不更改原始来源的情况下进行更改?
您可以将 Calendar
的 Background
属性 设置为 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>
我可以使用下面的代码成功构建日期选择器。
<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>
但我想更改前景色和背景 color.As 显示:
- 页眉背景颜色为 => 灰色
- 页眉文本前景颜色为 => 白色
- 图标颜色为 => 白色
- 月份文本前景颜色为 => 白色
- 主背景颜色为 => 黑色
- 主 TextForeColor 到 => 白色
我该怎么做?是否可以在不更改原始来源的情况下进行更改?
您可以将 Calendar
的 Background
属性 设置为 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>