您的位置:首页 > 其它

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

2012-03-26 16:18 381 查看
这个方法主要是通过修改水印的位置来显示周的开始和结束时间。

private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
var dp = sender as DatePicker;
if (dp == null) return;

if (dp.SelectedDate != null)
{
var tb = GetChildOfType<DatePickerTextBox>(dp);
if (tb == null) return;

var wm = tb.Template.FindName("PART_Watermark", tb) as ContentControl;
if (wm == null) return;
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 == null) return 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 != null) return result;
}
return null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: