如何在wpf中使用DateTimePicker绑定

时间:2013-07-12 06:57:29

标签: c# wpf xaml binding datepicker

在我的wpf应用程序中,在CustomView窗口中,以下是我声明的属性

private DateTime starttime 
    {
        get
        {
            return DateTime.Parse(StartTimeText.Text); 
        }
        set
        {
            StartTimeText.Text = value.ToString();
            OnPropertyChanged("starttime");
        } 
    }

    private DateTime stoptime
    {
        get
        {
            return DateTime.Parse(StopTimeText.Text);
        }
        set
        {
            StopTimeText.Text = value.ToString();
            OnPropertyChanged("stoptime");
        }
    }

protected virtual void OnPropertyChanged(String time)
    {
        if (System.String.IsNullOrEmpty(time))
        {
            return;
        }
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(time));
        }
    }

public event PropertyChangedEventHandler PropertyChanged;

在xaml中,

<DatePicker x:Name="StartTimeText" 
            SelectedDate="{Binding Path=starttime}"  
            BorderThickness="0" 
            Background="Yellow"
            Width="100"/>

<DatePicker x:Name="StopTimeText" 
            SelectedDate="{Binding Path=stoptime, Mode=TwoWay}" 
            BorderThickness="0" 
            Background="Yellow"
            Width="60"/>

通过这种方式,我在启动时和停止时控制中获得了日期。但我希望时间用“hh:mm tt”格式。 WPF工具箱中没有DateTimePicker控件。所以为了获得指定格式而不是日期的时间,我该怎么办?请建议。

1 个答案:

答案 0 :(得分:10)

尝试使用http://wpftoolkit.codeplex.com/documentation

请参阅以下命名空间

xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" 

然后

<xctk:DateTimePicker x:Name="dtpStartTime"  
                     Format="Custom" 
                     FormatString="HH:mm tt" 
                     Margin="5"/>