C# 如何在WPF中从日历中获取日期选择器
有没有办法从日历中获取datepicker 我正在尝试此扩展方法,但它返回nullC# 如何在WPF中从日历中获取日期选择器,c#,wpf,C#,Wpf,有没有办法从日历中获取datepicker 我正在尝试此扩展方法,但它返回null private void ChangeCalendarToToday(System.Windows.Controls.Calendar obj) { var parent=obj.GetParentOfType<DatePicker>(); obj.SelectedDate = DateTime.Now; obj.DisplayDate = DateTime.Now;
private void ChangeCalendarToToday(System.Windows.Controls.Calendar obj)
{
var parent=obj.GetParentOfType<DatePicker>();
obj.SelectedDate = DateTime.Now;
obj.DisplayDate = DateTime.Now;
obj.DisplayMode = CalendarMode.Month;
}
public static T GetParentOfType<T>(this DependencyObject child) where T : DependencyObject
{
//get parent item
DependencyObject parentObject = VisualTreeHelper.GetParent(child);
//we've reached the end of the tree
if (parentObject == null) return null;
//check if the parent matches the type we're looking for
T parent = parentObject as T;
if (parent != null)
return parent;
else
return GetParentOfType<T>(parentObject);
}
private void changecendartotoday(System.Windows.Controls.Calendar obj)
{
var parent=obj.GetParentOfType();
obj.SelectedDate=DateTime.Now;
obj.DisplayDate=DateTime.Now;
obj.DisplayMode=CalendarMode.Month;
}
公共静态T GetParentOfType(此DependencyObject子对象),其中T:DependencyObject
{
//获取父项
DependencyObject parentObject=VisualTreeHelper.GetParent(子级);
//我们已经到了树的尽头
if(parentObject==null)返回null;
//检查父项是否与我们要查找的类型匹配
T parent=parentObject作为T;
如果(父项!=null)
返回父母;
其他的
返回GetParentOfType(parentObject);
}
谢谢 执行时,parentObject的状态是什么?非LogicalAdornerDecorator->Decorator->PopuRoot->null