Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf system.windows.datepicker更改标题背景色_Wpf_Datepicker_Styles - Fatal编程技术网

Wpf system.windows.datepicker更改标题背景色

Wpf system.windows.datepicker更改标题背景色,wpf,datepicker,styles,Wpf,Datepicker,Styles,我一直在尝试更改wpf默认日期选择器的背景色。现在它是深蓝色的黑色文本,客户希望它变为白色。我已经编写了很多代码,但似乎什么都不起作用 请帮忙。谢谢 <Style x:Key="DateStyle" TargetType="{x:Type DatePcker}" BasedOn="{x:Null}"> <Style.Triggers> <Trigger Property="IsFocused" Value="True">

我一直在尝试更改wpf默认日期选择器的背景色。现在它是深蓝色的黑色文本,客户希望它变为白色。我已经编写了很多代码,但似乎什么都不起作用

请帮忙。谢谢

 <Style x:Key="DateStyle" TargetType="{x:Type DatePcker}" BasedOn="{x:Null}">
    <Style.Triggers>
        <Trigger Property="IsFocused" Value="True">
            <Setter Property="Background" Value="Yellow" />
        </Trigger>
        <Trigger Property="IsReadOnly" Value="True">
            <Setter Property="Background" Value="White" />
        </Trigger>
    </Style.Triggers>
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="CharacterCasing" Value="Upper"/>
    <Setter Property="FontFamily" Value="Segoe UI" />
    <Setter Property="FontSize" Value="11" />
</Style>
这是我的约会选择者

 <DatePicker Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="4" Height="25" HorizontalAlignment="Left" TabIndex="3" 
                                                        Name="dpFillingDateFrom" VerticalAlignment="Center" Width="97" Text="12/12/2011" SelectedDateFormat="Short"/>
就这么过去吧。 更改wpf的默认日期选择器的背景色并非易事,但您可以按照以下步骤操作

1日期选择器具有日历属性,因此覆盖日历默认控件模板

2在日历控制模板中,有一个CalendarItemStyle,您可以在其中覆盖CalendarItemStyle defaulttemplate。在这里,您可以自定义背景颜色以及标题按钮

<Style x:Key="ItemStyle" TargetType="primitives:CalendarItem">
                <Setter Property="Template">
                    <Setter.Value>

            <ControlTemplate TargetType="primitives:CalendarItem">
                <ControlTemplate.Resources>
                    <DataTemplate x:Key="DayTitleTemplate">
                        <TextBlock Text="{Binding}"
                                           HorizontalAlignment="Center" />
                    </DataTemplate>
                </ControlTemplate.Resources>

                <DockPanel Name="PART_Root" 
                                   LastChildFill="True">
                    <Button x:Name="PART_PreviousButton" 
                                    DockPanel.Dock="Left"
                                    Content="&lt;"
                                    Focusable="False" />

                    <Button x:Name="PART_NextButton" 
                                    DockPanel.Dock="Right"
                                    Content="&gt;" 
                                    Focusable="False" />

                    <Button x:Name="PART_HeaderButton"                                             
                                    DockPanel.Dock="Top"
                                    FontWeight="Bold"
                                    Focusable="False" />

                    <Grid>
                        <Grid x:Name="PART_MonthView" 
                                      Visibility="Visible">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                        </Grid>

                        <Grid x:Name="PART_YearView" 
                                      Visibility="Hidden">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/> 
                            </Grid.ColumnDefinitions>
                        </Grid>
                    </Grid>
                    <Rectangle x:Name="PART_DisabledVisual" Opacity="0" Visibility="Collapsed" Fill="#A5FFFFFF"/>
                </DockPanel>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter TargetName="PART_DisabledVisual" Property="Visibility" Value="Visible" />
                    </Trigger>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type toolkit:Calendar}}, Path=DisplayMode}" Value="Year">
                        <Setter TargetName="PART_MonthView" Property="Visibility" Value="Hidden" />
                        <Setter TargetName="PART_YearView" Property="Visibility" Value="Visible" />
                    </DataTrigger>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type toolkit:Calendar}}, Path=DisplayMode}" Value="Decade">
                        <Setter TargetName="PART_MonthView" Property="Visibility" Value="Hidden" />
                        <Setter TargetName="PART_YearView" Property="Visibility" Value="Visible" />
                    </DataTrigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            </Setter.Value>
            </Setter>
            </Style>
            <Style x:Key="pp" TargetType="toolkit:Calendar">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="toolkit:Calendar">
                            <StackPanel Name="PART_Root" 
                Orientation="Horizontal">
                                <primitives:CalendarItem 
            Name="PART_CalendarItem" 
            Style="{StaticResource ItemStyle}"
            Background="{TemplateBinding Background}" 
            BorderBrush="{TemplateBinding BorderBrush}" 
            BorderThickness="{TemplateBinding BorderThickness}"
            VerticalAlignment="Center" />
                                <Border BorderBrush="{TemplateBinding BorderBrush}"
                BorderThickness="{TemplateBinding BorderThickness}"
                Margin="4 4 0 4">
                                    <ScrollViewer 
                    VerticalScrollBarVisibility="Auto"
                    Height="{Binding ElementName=PART_CalendarItem,
                                     Path=ActualHeight}"
                    Width="100">
                                        <ItemsControl 
                    ItemsSource=
                        "{Binding RelativeSource={RelativeSource 
                                      AncestorType=toolkit:Calendar}, 
                                  Path=SelectedDates}" />
                                    </ScrollViewer>
                                </Border>
                            </StackPanel>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Grid.Resources>
        <toolkit:DatePicker CalendarStyle="{StaticResource pp}" Margin="0,0,0,242"></toolkit:DatePicker>

这可能是重复的工作cal的外观改变了,但我不能只改变标题。我只想改变标题的颜色。我不知道如何使用xaml,我试着进行实验,最终得到了一个奇怪的cal。请注意,我没有ToolKit,我现在可以更改标题,但现在我无法更改所选日期的高亮度颜色。请问选择的日期在哪个属性/标签下?