1

我有一个组合框,绑定到一个对象列表。我可以让对象很好地填充下拉列表。我正在尝试为下拉项目列表中的每个对象设置背景颜色。我可以在下面的样式代码中轻松地为所有这些设置任何颜色。

我想要做的是将背景颜色值绑定到我的 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 回答