XAML将后台的组合框样式设置器绑定到内存对象';s字段值

XAML将后台的组合框样式设置器绑定到内存对象';s字段值,xaml,data-binding,combobox,setter,Xaml,Data Binding,Combobox,Setter,我有一个组合框,绑定到一个对象列表。我可以很好地将对象填充到下拉列表中。我试图为下拉列表中的每个对象设置背景色。我可以在下面的样式代码中轻松设置所有颜色 我要做的是将背景色值绑定到我的关键对象的KeyColorValue字段 这是我的XAML: DisplayMemberPath=“Name” 水平对齐=“左” 保证金=“300103,0,0” 垂直对齐=“顶部” 宽度=“186” SelectionChanged=“roleBoundSelector\u SelectionChanged”>

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

我要做的是将背景色值绑定到我的关键对象的KeyColorValue字段

这是我的XAML:

DisplayMemberPath=“Name”
水平对齐=“左”
保证金=“300103,0,0”
垂直对齐=“顶部”
宽度=“186”
SelectionChanged=“roleBoundSelector\u SelectionChanged”>
(如果我在这里添加颜色,效果很好……需要绑定到MyKeys对象的KeyColorValue。)

在您的风格中尝试以下方法:

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

每个ComboBoxItem的DataContext是一个包含在列表中的对象,该列表提供ComboxBox的ItemsSource


让我知道这是否有任何帮助,问候

在你的风格中试试这个:

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

每个ComboBoxItem的DataContext是一个包含在列表中的对象,该列表提供ComboxBox的ItemsSource


让我知道这是否有任何帮助,问候

这有很大帮助-我刚刚发现,对于从对象列表返回的颜色的数据类型,我有两个选择:一个是System.Drawing.color类型,另一个是带有颜色十六进制值的字符串。有没有办法在这些样式中转换类型?非常感谢。很高兴能帮上忙。如果您认为答案令人满意,请将其标记为答案(这也会提高您的声誉)。关于转换,我喜欢这里的第二个答案有很多转换的方法,但是我认为你会继续使用这个链接。当做这有很大帮助-我刚刚发现,对于从对象列表返回的颜色的数据类型,我有两个选择:一个是System.Drawing.color类型,另一个是带有颜色十六进制值的字符串。有没有办法在这些样式中转换类型?非常感谢。很高兴能帮上忙。如果您认为答案令人满意,请将其标记为答案(这也会提高您的声誉)。关于转换,我喜欢这里的第二个答案有很多转换的方法,但是我认为你会继续使用这个链接。当做