だから私はこれを機能させるためにこの小さな問題を抱えています:
- 双方向バインディングのトライステート チェックボックスを備えたカスタム ユーザー コントロールを持つ Silverlight クライアント アプリがあります。
ユーザーがチェックボックスの値を変更すると、プロパティの基礎となる関数が値を整数に変換します。
-1 nothing 0 false 1 true
ユーザーがダイアログ ボックスからデータを保存した後、すべてのデータ (複雑なオブジェクト) がシリアル化され、webservice に送信され、SQL db に格納されます。
- クライアントが Web サービスから保存されたデータをリクエストすると、そのオブジェクトが返されます。
次のように、返された逆シリアル化されたオブジェクト(EA)をチェックボックスにバインドしようとすると:
With cC Dim b As New Binding("AllowedTo.Create") b.Source = EA b.Mode = BindingMode.TwoWay .SetBinding(CheckBox.IsCheckedProperty, b) End With
値が true または false の場合にのみ正常に機能しますが、チェックボックスがトライステートであるため、値が何もない場合は、マイナス記号 [-] でその 3 番目の状態 (未定義) に変わる必要がありますが、そうではありません。false の状態のままです - false のように、チェックなしで空です。
何が問題なのですか?
私の母国語ではない私の英語で申し訳ありません