关闭

[WPF]显示周的起始时间和结束时间 Text of DatePicker

标签: wpfnull
2238人阅读 评论(1) 收藏 举报
分类:

这个方法主要是通过修改水印的位置来显示周的开始和结束时间。

        private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            var dp = sender as DatePicker;
            if (dp == nullreturn;
 
            if (dp.SelectedDate != null)
            {
                var tb = GetChildOfType<DatePickerTextBox>(dp);
                if (tb == nullreturn;
 
                var wm = tb.Template.FindName("PART_Watermark", tb) as ContentControl;
                if (wm == nullreturn;
                wm.Content = null// This is a part where watermark is set to null, so no text will be displayed
                wm.Content = GetWeekNumber((DateTime)this.DatePicker.SelectedDate);
                dp.SelectedDate = null;
            }
        }
	public T GetChildOfType<T>(DependencyObject depObj) where T : DependencyObject
        {
            if (depObj == nullreturn null;
 
            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
            {
                var child = VisualTreeHelper.GetChild(depObj, i);
 
                var result = (child as T) ?? GetChildOfType<T>(child);
                if (result != nullreturn result;
            }
            return null;
        }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:260483次
    • 积分:6674
    • 等级:
    • 排名:第3500名
    • 原创:101篇
    • 转载:5篇
    • 译文:17篇
    • 评论:58条
    文章分类