0

この質問は WinRT に関するものですが、Silverlight にも当てはまる場合があります。ListView/ListBox の Background プロパティをデータバインドしたとしますが、特定のテーマが適用されたときにのみそのデータバインドを配置したいとします。XAML スタイルのMerged Dictionariesを使用してテーマを実装しました。別のテーマを適用する場合は、スタイルで静的に定義したい。

XAML のみを使用してこれを達成する方法はありますか?

プロパティの順序が重要かどうかを確認するために、ListView タグ自体の「Background」の後に「Style」属性を配置しようとしましたが、効果がないように見えました。

4

1 に答える 1

0

ニルゾー -

これは、カスタム コンバーターを使用するような場所のようです。このようにして、バインドが発生すると、論理テストと任意のコードを実行して、バインドに受け入れられる値を返すことができます。

WinRT プロジェクトには、BooleanToVisibility Converter という名前のカスタム コンバーターの例が付属しています。

記録のために: これは変換である必要はありません (つまり、バインドされたオブジェクトは bool で、Visibility に変換し、それを Visibility プロパティに返します) 論理テストにすることができます。バインドされたオブジェクトは XYZ が ABC から派生し、XYZ の場合です。 Parent.SomeProperty == someValue は異なる ABC を返します。

それらを作成/実装するためのスタックオーバーフローリンクは次のとおり です。 カスタムコンバーターのプロパティへのバインド

于 2012-10-04T17:53:36.053 に答える