C# 如何在WPF中从日历中获取日期选择器

C# 如何在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;

有没有办法从日历中获取datepicker

我正在尝试此扩展方法,但它返回null

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