2016-04-26 12 views
0

SetBindingメソッドが特定のプロパティ値を更新しているかどうかをチェックする必要があります。SetBindingメソッドがプロパティ値を更新する方法を確認するには?

私はここで

var binding = new Binding(); 
     binding.Path = new PropertyPath("NullCheck"); 
     binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 
     binding.Mode = BindingMode.TwoWay; 
     uiElement.SetBinding(CheckBox.IsCheckedProperty, binding); 

は、どのように私は、CheckBoxのプロパティが更新またはパスを結合に基づくものではありません確認することができ、以下のようなSetBindingを使用していますか?

上記のようにSetBindingメソッドを使用してバインディングを設定すると、uiElement.IsChecked値を確認しました。

しかし、これは常にfalseを返します。誰でも更新された値をチェックする方法を提案しますか?

+0

Binding例外はありませんか? NullCheckプロパティはToggleButtonのDataContextの下にありますか? – Archana

+0

@LovetoCodeいいえ、私はバインディングの例外を取得していません。 CheckBox.IsCheckedプロパティについてもこれをチェックしています。 – Smirti

+0

NullCheckプロパティにはPropertyChangedイベントが実装されていますか?あなたはNullCheckとxamlコード – Archana

答えて

0

CheckBoxプロパティが更新されているか、バインディングパスに基づいていないかを確認するにはどうすればよいですか?

checkBoxElement.IsChecked値が正しく更新されている場合は、checkBoxElement.IsCheckedは正しい値になり、あなたは/未チェック確認ページにCheckBoxElementが表示されます。

あなたの投稿コードに従って。私はバインディングソースを設定するのを忘れていると思います。あなたはbinding.Source={Your Binding Source Object\Variable}によってこれを行うことができます。

バインド元がオブジェクトの場合(myObjとしましょう)、isCheckedプロパティをmyObj.BooleanPropertyにバインドします(BooleanPropertyにはget setが含まれている必要があります)。 binding.Pathは "BooleanProperty"に設定する必要があります。

バインディングソースが変数の場合は、binding.Pathを設定する必要はなく、空の文字列( "")にすることもできます。ここで

は、あなたが参照できる基本的なデモです:SetBindingSample

そして、あなたのコードで私はまた、あなたが多分双方向結合を作成するに気づきました。 INotifyPropertyChanged Interface

+0

あなたの説明をありがとう – Smirti

関連する問題