小编osM*_*ike的帖子

自定义Datepicker不会弹出日历

我有自定义的datepicker样式,但由于某些原因,当我点击日期选择器时,日历不会弹出,也不会激活mouseup子程序.

如果我将Button x:Name ="Button"更改为Button x:Name ="PART_Button",将弹出日历,但TextBlocks内容将显示:"Show Calendar"

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"
xmlns:iPodConv="clr-namespace:Custom_DatePicker.CustomDateConverter"
xmlns:vsm="clr-namespace:System.Windows;assembly=PresentationFramework">        
    <Style x:Key="CustomDatePickerStyle" TargetType="controls:DatePicker">
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Background" Value="#FFFFFFFF"/>
        <Setter Property="Padding" Value="2"/>
        <!--Setter Property="SelectionBackground" Value="#FF444444"/-->
        <Setter Property="BorderBrush">
            <Setter.Value>
                <LinearGradientBrush EndPoint=".5,0" StartPoint=".5,1">
                    <GradientStop Color="#FF617584" Offset="0"/>
                    <GradientStop Color="#FF718597" Offset="0.375"/>
                    <GradientStop Color="#FF8399A9" Offset="0.375"/>
                    <GradientStop Color="#FFA3AEB9" Offset="1"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="controls:DatePicker">
                <Grid x:Name="PART_Root">
                    <Grid.Resources>
                        <SolidColorBrush x:Key="DisabledBrush" Color="#8CFFFFFF"/>
                        <ControlTemplate x:Key="DropDownButtonTemplate" TargetType="Button">
                            <Grid>
                                <vsm:VisualStateManager.VisualStateGroups>
                                    <vsm:VisualStateGroup x:Name="CommonStates">
                                        <vsm:VisualStateGroup.Transitions>
                                            <vsm:VisualTransition GeneratedDuration="0"/>
                                            <vsm:VisualTransition GeneratedDuration="0:0:0.1" To="MouseOver"/>
                                            <vsm:VisualTransition GeneratedDuration="0:0:0.1" To="Pressed"/>
                                        </vsm:VisualStateGroup.Transitions> …
Run Code Online (Sandbox Code Playgroud)

wpf styles datepicker wpf-controls

5
推荐指数
1
解决办法
1851
查看次数

标签 统计

datepicker ×1

styles ×1

wpf ×1

wpf-controls ×1