だから私はこの小さな問題これが動作することがあります。Silverlightのトライステートチェックボックスのデータバインディングは、値を計算するプロパティをオブジェクトに
- 私はSilverlightのクライアントアプリを持っている双方向結合と、トライステートチェックボックスを使用してカスタムユーザーコントロールを持っていますユーザ後
-1 nothing 0 false 1 true
ダイアログボックスからのデータを保存し、すべてのデータを(:
ユーザがチェックボックスの値を変更した後は、プロパティの基礎となる機能は、整数に値を変換します複雑なオブジェクト)がシリアル化され、Webサービスに送信され、SQLデータベースに格納されます。私はこのようなチェックボックスに戻って非直列化されたオブジェクト(EA)を返されるバインドしようとすると、クライアントの要求はバックWebサービスからのデータを保存した
- 、それはOK
オブジェクトという取り戻す:
With cC Dim b As New Binding("AllowedTo.Create") b.Source = EA b.Mode = BindingMode.TwoWay .SetBinding(CheckBox.IsCheckedProperty, b) End With
値が真または偽の場合は正常に機能しますが、値が何もない場合、チェックボックスはトライステートなので、未定義のマイナス記号[ - ]が付いた3番目の状態になります。 それは偽の状態のままです - チェックなしの空です(偽のようです)。
何が問題なのですか?
私の英語、そのない私の母言語のため申し訳ありません
私はすでに "AllowedTo.Create"というプロパティを持っていると言っていませんでした。魔女はnullable(boolean型)です。この値をこの整数プロパティから前後に変換します。しかし、何も返されないときは、チェックボックスは不確定に表示されますが、チェックされていない状態のままです。私のプロパティがtrueまたはfalseを返す場合、それは正常に動作します – halloweenlv
1)プロパティはコンバーターではありません...バインディングで値を変換するためにコンバーターを使用してください。 – cosinus
2)あなたが言ったように "NOTHING"を返すことはできません、それは値を返すことができますか、または値をnullにすることができますが、何もないです – cosinus