私はシナリオ内にクラスAのクラスBのインスタンスを作成する2つのクラスを持っています(例:AとB)。クラスBのSettingsプロパティの値が更新されるたびに、クラスAのSettingsプロパティの値をすぐに更新する必要があります。私はDependencyProperty
を使用してこれを行うことができますが、現時点では苦労しています。ここで依存プロパティーを使用してプロパティー値を更新する
は、クラス構造です:
public class A
{
public Settings Settings { get; set; }
}
public class B
{
public Settings Settings { get; set; }
}
public enum Settings
{
Hidden,
Visible
}
ここで依存関係プロパティを実装するに私の試みです。
public class A : DependencyObject
{
public static readonly DependencyProperty SettingsProperty =
DependencyProperty.RegisterAttached("Settings", typeof(Settings), typeof(A),
new FrameworkPropertyMetadata(Settings.Visible, new PropertyChangedCallback(SettingsChanged)));
public Settings Settings
{
get { return (Settings)GetValue(SettingsProperty); }
set { SetValue(SettingsProperty, value); }
}
private static void SettingsChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
// Update the Settings property of class B
}
}
public class B : DependencyObject
{
public static DependencyProperty SettingsProperty;
public Settings Settings
{
get
{
return (Settings)GetValue(SettingsProperty);
}
set
{
SetValue(SettingsProperty, value);
}
}
}
しかし、私はそれを動作させるように見えることはできません。助言がありますか?
詳細はこのリンクをクリックします。バインディングは双方向でも可能です。 – Clemens