ToggleButtonはICommandをサポートしていますので、TogglePlayPause、ToggleMuteなどのコマンドを多数作成しても問題ありませんが、IsCheckedプロパティをバインドしてチェック状態が常に正しい状態になるようにする必要があります。 ToggleButtonのOneWayバインディングモードを作成し、ToggleButtonを押すとバインディングが失われます。OneWayがToggleButton IsCheckedプロパティにバインドできないのはなぜですか?
なぜToggleButtonはICommandをサポートしていますが、OneWayバインディングをサポートしていないのはなぜですか? TwoWayバインディングを設定することはできますが、ToggleButtonがCommandを使用すると、実際の操作がTwoWayバインディングと重複しないようにしてください。私の場合は Command = TogglePlayPause IsChecked = {Bind to IsMediaPlaying} IsMediaPlayingは読み取り専用でなければなりません。
ToggleButtonをCommandで使用してIsCheckedプロパティをバインドする方法を教えてください。
私はこれを使用できません。なぜなら、他の人が作成したインターフェースであり、DLLを持っているからです。私は自分の上書きクラスを使用することができないように、コードで動的バインドを行います。 – Madnik7G
次に、独自の中間プロパティで双方向バインディングを行い、バインドによって変更されたときに正しい値に戻します。 –
実際、私は既に空のセットアセスメントではない2ウェイバインディングを適用していますが、それはうまくいくように見えますが、ToggleButtonのフレームワークの読み込み専用のプロパティをすべて変更する必要があります。 他の方法がない場合、Silverlightチームはこの問題を解決する必要があります。 – Madnik7G