wpf toolkit datetimepicker 如何更改微调器的颜色

wpf toolkit datetimepicker how to change color of spinner

如何更改 xceed WPF 工具包中 DateTimePicker 的微调箭头颜色? 我找不到设置箭头颜色的 属性。
我是否需要覆盖整个 ButtonSpinner 才能这样做?
如果是,我该怎么做,我仍然是 WPF 的初学者,如果我只是尝试从 ButtonSpinner reference page Visual Studio 复制源代码,则会抱怨主题 "ResourceKeys does not exist in the namespace" 的术语

我已经将微调按钮样式写成 follows.could 你试试这个。只需将 replacebutton 内容模板中的填充 属性 替换为您的背景颜色

<!-- Brushes For Arrow -->
<Geometry x:Key="UpArrowGeometry">M 0,3 C0,3 0,4 0,4 0,4 3,4 3,4 3,4 3,3 3,3 3,3 4,3 4,3 4,3 4,4 4,4 4,4 7,4 7,4 7,4 7,3 7,3 7,3 6,3 6,3 6,3 6,2 6,2 6,2 5,2 5,2 5,2 5,1 5,1 5,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 2,1 2,1 2,1 2,2 2,2 2,2 1,2 1,2 1,2 1,3 1,3 1,3 0,3 0,3 z</Geometry>
   <Geometry x:Key="DownArrowGeometry">M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z</Geometry>

<!-- Spinner Button Style -->
  <LinearGradientBrush x:Key="ControlNormalBorderKey"
                        EndPoint="0,20"                        
                        StartPoint="0,0"
                        >
      <GradientStop Color="#ABADB3"
                    Offset="0.05" />
      <GradientStop Color="#E2E3EA"
                    Offset="0.07" />
      <GradientStop Color="#E3E9EF"
                    Offset="1" />
   </LinearGradientBrush>

  <SolidColorBrush x:Key=DisabledBrush Color="#F4F4F4"/>

 <Style TargetType="{x:Type local:ButtonSpinner}">
      <Setter Property="Background" Value="#FFFFFFFF" />
      <Setter Property="BorderBrush" Value="{StaticResource ControlNormalBorderKey}" />
      <Setter Property="BorderThickness" Value="1" />
      <Setter Property="Focusable" Value="False" />
      <Setter Property="HorizontalContentAlignment" Value="Stretch" />
      <Setter Property="IsTabStop" Value="True" />
      <Setter Property="Padding" Value="1" />
      <Setter Property="VerticalContentAlignment" Value="Center" />
      <Setter Property="Template">
         <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:ButtonSpinner}">
               <Border x:Name="Border" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" >
                  <Grid>
                     <Grid.ColumnDefinitions>
                        <ColumnDefinition x:Name="firstContentColumn" Width="*" />
                        <ColumnDefinition x:Name="secondContentColumn" Width="Auto" />
                     </Grid.ColumnDefinitions>
                     <ContentPresenter x:Name="contentPresenter" Focusable="False" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />

                     <Grid x:Name="gridContent" Grid.Column="1" Visibility="{TemplateBinding ShowButtonSpinner, Converter={StaticResource BooleanToVisibilityConverter}}" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
                        <Grid.RowDefinitions>
                           <RowDefinition Height="*" />
                           <RowDefinition Height="*" />
                        </Grid.RowDefinitions>

                        <RepeatButton x:Name="PART_IncreaseButton"
                                   Style="{DynamicResource {x:Static themes:ResourceKeys.SpinnerButtonStyleKey}}"
                                   IsTabStop="{TemplateBinding IsTabStop}">
                       <RepeatButton.ContentTemplate> 
                 <DataTemplate>
      <Path Width="7"
            Height="4"
            Data="{StaticResource UpArrowGeometry}"
            Fill="{StaticResource YourBackgroundColor}"
            SnapsToDevicePixels="True"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            Focusable="False" />
            </DataTemplate>
                       </RepeatButton.ContentTemplate>

                        <RepeatButton x:Name="PART_DecreaseButton"
                                   Grid.Row="1"
                                   Style="{DynamicResource {x:Static themes:ResourceKeys.SpinnerButtonStyleKey}}"
                                   IsTabStop="{TemplateBinding IsTabStop}"> 
                        <RepeatButton.ContentTemplate>
                        </RepeatButton>
                <DataTemplate>
      <Path Width="7"
            Height="4"
            Data="{StaticResource DownArrowGeometry}"
            Fill="{StaticResource YourBackgroundColor}"
            SnapsToDevicePixels="True"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            Focusable="False" />
   </DataTemplate>

                          </RepeatButton.ContentTemplate>
                     </Grid>
                  </Grid>
               </Border>
               <ControlTemplate.Triggers>
                  <Trigger Property="IsEnabled" Value="False">
                     <Setter Property="Background" Value="{StaticResource DisabledBrush}" />
                  </Trigger>
                  <Trigger SourceName="PART_IncreaseButton" Property="IsEnabled" Value="False">
                     <Setter TargetName="PART_IncreaseButton" Property="ContentTemplate" Value="{StaticResource IncreaseGlyphDisabledKey}" />
                  </Trigger>
                  <Trigger SourceName="PART_DecreaseButton" Property="IsEnabled" Value="False">
                     <Setter TargetName="PART_DecreaseButton" Property="ContentTemplate" Value="{StaticResource DecreaseGlyphDisabledKey}" />
                  </Trigger>
                  <Trigger Property="ButtonSpinnerLocation"
                           Value="Left">
                     <Setter TargetName="firstContentColumn"
                             Property="Width"
                             Value="Auto" />
                     <Setter TargetName="secondContentColumn"
                             Property="Width"
                             Value="*" />
                     <Setter TargetName="contentPresenter"
                             Property="Grid.Column"
                             Value="1" />
                     <Setter TargetName="gridContent"
                             Property="Grid.Column"
                             Value="0" />
                  </Trigger>
               </ControlTemplate.Triggers>
            </ControlTemplate>
         </Setter.Value>
      </Setter>
   </Style>