私は、オブジェクトのコレクションにMyModel.csと言っています。コレクションはSome
と呼ばれます。 MyModelには、ブラシタイプのColorというプロパティがあります。バインドItemSourcesのプロパティのストローク
色はすべて現在赤です。
は今、私は
<MyControl: x:Name="control1" ItemsSource="{Binding Some}" Stroke="Red">
を持っているしかし、あなたは、私は、脳卒中をハードコード参照してください。私が欲しいものは何かのようなものです Stroke = "{Binding Some.Color}"
どのようにですか?
カスタムコンバーターでMultiBindingを使用する必要があります(コレクションの2つのモデルが異なる色を持つ場合 - 選択するか?)か、上位レベル(コレクションが存在する場所)にプロパティを移動する必要があります。 – Shcherban
@Shcherban、異なる色がある場合、私は異なるコレクションを持っています。だから私はMultiBindingを使用しません。 – Bigeyes
さて、 'Stroke = {Binding Some、Converter = SomeConverter}'のようなコレクション内の最初のアイテムの色を選び、 'return(value as IEnumerable)?FirstOrDefault )?。色 ?? Colors.Red' –
Shcherban