【发布时间】:2019-11-13 09:46:55
【问题描述】:
private void Button_Click(object sender, RoutedEventArgs e)
{
using (var db = new mainEntities())
{
people = (from p in db.People select p).ToList();
}
foreach (Person p in People)
{
listView.Items.Add(p);
}
}
<ListView x:Name="listView" Foreground="Black">
<ListView.View>
<GridView x:Name="gridView">
<GridViewColumn Header="name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Spec" DisplayMemberBinding="{Binding Career}"/>
</GridView>
</ListView.View>
</ListView>
我使用 ADO.Net 实体模型从我的数据库中创建 Person 对象模型,从数据库中创建 Person 对象列表,然后将该列表添加到 ListView 以使用绑定显示到列.我想根据Career 的值更改ListView 行的颜色。例如,如果Career=='Nurse',则将该行设置为红色。
我似乎遇到的问题是 Person 对象不是 ListViewItem 所以我不能设置 Background 属性。
【问题讨论】:
-
我不确定我是否遵循您的代码。你有
foreach (Person in People),然后是listView.Items.Add(r);。r是什么? -
我看不到您尝试设置
Background属性的代码。你也可以补充一下吗?如果您遇到任何异常,请提供完整的异常详细信息。 -
抱歉 r 应该是 p,应该是 'foreach (person p in people)' 我现在已经修好了
-
顺便说一句,您不需要调用
Dispose,这是由using构造为您完成的。
标签: c# visual-studio entity-framework listview