如何为多列WPF ListView指定硬编码数据?

时间:2010-11-15 00:40:06

标签: wpf silverlight xaml

嘿 我有一个带有mutliple列的ListView。我希望使用类似ListViewItem的xaml构造附加硬编码值,但无法确定如何指定多列固定数据。例如,在下面显示的网格中,我想看到两列,'Animal'和'IQ',并预先填充两列的数据,但显示的代码将所有列设置为相同的值。

<ListView>  
    <ListView.View>  
        <GridView>  
            <GridViewColumn Header="Animal" />  
            <GridViewColumn Header="IQ" />  
        </GridView>  
    </ListView.View>  
    <ListViewItem Content="Pig"/>  
    <ListViewItem Content="Dog"/>  
</ListView>

BTW:这是一个简单的样本屏幕。因此,我真的不想以编程方式绑定数据。

提前致谢。
戴夫。

2 个答案:

答案 0 :(得分:0)

不确定如何在XAML中以声明方式完成此操作,但如果您不想将数据绑定到控件,则可以以编程方式添加代码隐藏中的项目。

this.AnimalsList.Items.Add(new ListViewItem { Content = "Pig" });
this.AnimalsList.Items.Add(new ListViewItem { Content = "Dog" });

答案 1 :(得分:0)

以防有人仍在寻找答案;第一个答案是不正确的,并且仍然会在每列中打印相同的值,就像XAML示例一样。这样就可以了:

<ListView>  
<ListView.View>  
    <GridView>  
        <GridViewColumn Header="Animal" DisplayMemberBinding="{Binding Animal}" />  
        <GridViewColumn Header="IQ" DisplayMemberBinding="{Binding IQ}" />  
    </GridView>  
</ListView.View>  
<ListViewItem>
    <local:Animals Animal="Pig" IQ="70" />
    <local:Animals Animal="Dog" IQ="60" />
    <local:Animals Animal="Frog" IQ="30" />
</ListViewItem>

但是你需要这样的课程,我不认为可以用纯XAML完成:

public class Animals
{
    public string Animal { get; set; }
    public int IQ { get; set; }
}