OnStudentID没有定义
本文关键字:定义 OnStudentID | 更新日期: 2023-09-27 18:32:18
在我的主窗口中,我有一个在触发值后获取值的方法,这适用于我的用户控件,但由于某种原因,当我在我的主窗口上尝试这样做时,OnStudentIDChanged没有定义。
public static readonly DependencyProperty StudentIDProperty = DependencyProperty.Register("StudentID", typeof(String), typeof(LoginWindow), new PropertyMetadata(OnStudentIDChanged));
public string StudentID
{
get { return (string)GetValue(StudentIDProperty); }
set { SetValue(StudentIDProperty, value); }
}
static void OnStudentIDChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
(d as LoginWindow).OnStudentIDChanged(e); // OnStudentIDChanged no definition?
}
也许你的意图是将d
投给MainWindow
而不是LoginWindow
?
static void OnStudentIDChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
(d as MainWindow).OnStudentIDChanged(e);
}
但这仍然是错误的,因为它是一个无限递归(从你之前的帖子中猜测)......
我在这里做了一些假设,但我猜static void OnStudentIDChanged
位于 MainWindow 中,对吧?
问题是不能使用该类型的实例调用该类型的静态方法。例如
public class MyClass
{
public static void SomeMethod();
}
var instance = new MyClass();
(instance as MyClass).SomeMethod() //THIS WILL NOT WORK
同样,这是假设我正确理解了您的情况。
d 总是在下一行中是一个登录窗口吗?
(d as LoginWindow).OnStudentIDChanged(e);