ItemsSource を WCF サービスから取り込まれた CollectionViewSource に設定する ListBox があります。ListBox.ItemTemplate\DataTemplate の値コンバーターを使用して、ItemsSource のオブジェクトのプロパティを変換します。
これはすべて期待どおりに機能しますが、別のプロパティが特定の値に等しい場合を除いて、変換された値が個々のオブジェクト プロパティ値に基づくように、変換プロセスを更新する必要があります。その値は、xaml のコード ビハインドで設定されます。これは、ページ コンストラクターで設定されるフィールド レベルの変数です。
これを行うには、フィールド レベル変数を ValueConverter の ConverterParameter として渡します。私は主にこのこの質問のアイデアを使用していくつかの方法を試しましたが、xaml の解析中に常にエラーが発生します (そしてアプリの読み込みに失敗します)。
修正の 1 つは、ItemsSource のオブジェクトにプロパティを追加することかもしれませんが、実際にはそうしたくありません。部分的には、そのオブジェクトがいくつかのプロジェクトで使用されているため、i を変更したくないためです....そして、他の方法が可能かどうかを確認したいからです。また、wpfにはMultiValue Converter(およびおそらくSL 4.0)があると思いますが、SL 3.0を使用しています。
私の推測では、これまでに発生した問題は、xaml の読み込み、バインド、および解析のタイミングによるものです。
いくつか質問があります:
- 上記のようにこれを行うことはできますか?
- そうでない場合、問題は何ですか?
- そうでない場合、オブジェクトにプロパティを追加しない別の方法はありますか?