1

オブジェクトのリストにバインドされたComboBoxがあります。ドロップダウンをうまく埋めるためにオブジェクトを取得できます。ドロップダウンのアイテムリストで各オブジェクトの背景色を設定しようとしています。以下のスタイルコードで、それらすべてに簡単に色を設定できます。

私がやりたいのは、背景色の値をKeyオブジェクトのKeyColorValueフィールドにバインドすることです。

これが私のXAMLです:

              DisplayMemberPath="Name" 
              HorizontalAlignment="Left" 
              Margin="300,103,0,0" 
              VerticalAlignment="Top"
              Width="186" 
              SelectionChanged="roleBoundSelector_SelectionChanged" >
        <ComboBox.ItemContainerStyle>
            <Style TargetType="ComboBoxItem">
                <Setter Property="Background"
                Value = "{Binding Path=KeyColorValue}" />    

(ここに色を入れると、問題なく機能します... MyKeysオブジェクトのKeyColorValueにバインドする必要があります。)

4

1 に答える 1

1

あなたのスタイルの中でこれを試してください:

<Setter Property="Background">
    <Setter.Value>
        <Binding RelativeSource="{RelativeSource Self}" Path="DataContext.KeyColorValue"/>
    </Setter.Value>
</Setter>

各ComboBoxItemのDataContextは、ComboBoxのItemsSourceにフィードしているリストに含まれるオブジェクトです。

よろしくお願いします。

于 2012-12-29T20:55:41.677 に答える