【发布时间】:2019-01-20 08:02:27
【问题描述】:
我希望将我的组合框的TextElement.Foreground 属性链接到我的对象的变量:"ALV_COULEUR":"tValeur"。
我在输出中注意到它没有找到变量 ALV_COULEUR ...
System.Windows.Data 错误:40:BindingExpression 路径错误: 在“对象”“属性”上找不到“ALV_COULEUR”属性 (哈希码=35307513)'。绑定表达式:路径=ALV_COULEUR; DataItem='属性' (HashCode=35307513);目标元素是“组合框” (名称='');目标属性是“前景”(类型“画笔”)
链接的对象是值而不是“属性”...
这种情况下不能绑定吗?
谢谢!
<ComboBox IsEditable="True"
TextElement.Foreground="{Binding ALV_COULEUR, Converter={StaticResource IntToBrushConverter}, Mode=OneWay}"
ItemsSource="{Binding tValeur, Mode=OneWay}" SelectedValuePath="ALV_ID" DisplayMemberPath="ALV_VALEUR"
SelectedValue="{Binding ATT_VALEUR, Converter={StaticResource StringToIntConverter}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsEnabled, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
</ComboBox>
编辑:
我的课:
public class Attribut
{
public int ATT_ID { get; set; }
public string ATT_LIBELLE { get; set; }
public List<ValeurAttribut> tValeur { get; set; }
}
public class ValeurAttribut
{
public int ALV_ID { get; set; }
public string ALV_VALEUR { get; set; }
public int ALV_COULEUR { get; set; }
}
DataContext : DataGrid 链接到 ObservableCollection<Attribut>()
【问题讨论】:
-
它失败了,因为您的数据上下文不正确。您能否展示如何为您的 ComboBox(和父对象)提供数据上下文?
-
@JamesHarcourt 我编辑了带有课程描述的帖子
-
@WDKyle:为什么没有在 Attribut 类中定义 ALV_COULEUR 属性?或者您希望 ComboBox 中的每个项目都使用不同的颜色?
-
@mm8:是的,对于每个项目。
标签: c# wpf xaml combobox binding