2
Generic WPF Controlを作成しました。レイアウトはすべてコードで定義されています。これは、すべての罰金と私は例えば、ラウンド初めて仕事バインディングを追加しました:WPF UserControlをコードで作成し、INotifyPropertyChangedで登録していないバインディング
private bool btEnabled { get { return SOME_LOGIC; } }
Button bt = new Button { Content = "Button" };
bt.SetBinding(Button.IsEnabledProperty, new Binding { Source = btEnabled, Mode = BindingMode.OneWay });
何かが私はINotifyPropertyChangedのを呼び出していますが、PropertyChangedイベントは常にnullであるbtEnabled性質に影響を与えるが起こるたびに、私はうまくできませんなぜバインディングはPropertyChangedイベントを登録していません。
すべてのアイデア?
おかげ
さらにいくつかのソースが必要なので、ほとんどの場合、 'Source'は' this'に設定する必要があります。 –
@ H.B、デフォルトのDataContextを示す未設定のソースはありませんか?コードの背後に明示的に設定する必要がありますか? –
OPは元々プロパティをSourceに設定していたので、おそらくそのプロパティが同じオブジェクトにあるため、DataContextではなく現在のオブジェクト、つまり「this」にバインドするつもりはありませんでした。もちろん、DataContextがすでに 'this'に設定されていれば、それは必要ないでしょう。 –