所以我在让我的依赖属性工作时遇到了一些问题。但实际上只有当我试图从不同的类访问它们时。
例如,我正在检查 ping 服务器并定义相应的依赖属性:
public static DependencyProperty PingStateProperty =
DependencyProperty.Register("PingState", typeof(bool),
typeof(MainWindow));
public bool PingState
{
get { return (bool)GetValue(PingStateProperty); }
set
{
SetValue(PingStateProperty, value);
PropertyChanged(this, new PropertyChangedEventArgs("PingState"));
}
}
现在我想从不同类(特别是用户控件)中的依赖属性中获取值。所以我有另一个班级,我试图获得这样的价值:
public void MethodInClass2()
{
bool ping = (bool)GetValue(MainWindow.PingStateProperty);
我在这里做错了什么?让我烦恼的是:当我在同一个班级中调用 GetValue 时它正在工作。它没有给我一个编译错误或类似的东西,它似乎只是没有传递正确的值(在定义 DP 的类 1 中,我可以检查该值并按预期获得“真”但是当尝试在第 2 课中做同样的事情,我只是每次都得到“假”)。
在这种情况下,我需要附加财产吗?与他们一起尝试了一下,但不幸的是无济于事。
问候