私はFlex for Flash開発を使用しています。 Flexのデータバインディングは本当に強力です。Silverlightデータ別の1つまたは複数のプロパティの式にプロパティをバインドする
今、私はSilverlightプロジェクトに取り組んでいます。私は、コントロールのプロパティを別のプロパティまたは複数のプロパティの式にバインドしたいだけです。例:
<Button Name="myButton" Background="{Binding myButton.IsEnabled ? #AABBCC : #DDEEFF}" />
実際は非常に単純で一般的なケースです。私はmyButton.Background
に#AABBCC
ボタンを有効にしたい場合は#DDEEFF
を無効にしておきたいだけです。
もちろん、Background
プロパティを他のコントロールの複数のプロパティにバインドすることもできます。
非常に簡単です。しかし、私はSilverlightでそれを行う方法を知らない。
ありがとうございました。
のSilverlight 5のリリースと上記素晴らしい記事の後に2012年1月3日にピーター
編集
http://www.codeproject.com/KB/silverlight/SilverlightMultiBinding.aspx 。私の必要性は、コンバータを使って行うことができます(MarkupExtension
を継承し、IMultiValueConverter
を実装します)。
これは実際にはデータバインディングに制限があります。複数の値やプロパティにバインドできない場合、 'IsEnabledChanged'イベントのハンドラを実装する必要があります。 –
は正しいです。あなたは命令について読んだことがありますか?特にCanExecuteメソッドhttp://msdn.microsoft.com/en-us/library/ff921126(v=pandp.20).aspx – mcabral