そのため、依存関係プロパティを機能させるのに問題があります。しかし、実際には、別のクラスからそれらにアクセスしようとしている場合のみです。
たとえば、サーバーに 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"));
}
}
ここで、別のクラス (具体的にはユーザー コントロール) の Dependency プロパティから値を取得したいと考えています。だから私は次のような値を取得しようとしている別のクラスを持っています:
public void MethodInClass2()
{
bool ping = (bool)GetValue(MainWindow.PingStateProperty);
ここで何が間違っていますか?私を悩ませているのは、同じクラスで GetValue を呼び出すと機能することです。コンパイルエラーなどは発生しません。正しい値を渡していないように見えます(DPが定義されているクラス1では、値を確認して期待どおりに「true」を取得できますが、クラス2でも同じことをします。毎回「false」になります)。
このような場合、添付プロパティは必要ですか? それらも少し試してみましたが、残念ながら役に立ちませんでした。
ご挨拶