2010-11-15 63 views
0

嘿, 我有一個ListView與多列。我希望使用像ListViewItem這樣的xaml結構附加硬編碼值,但無法確定如何指定多列固定數據。例如,在下面顯示的網格中,我希望看到兩列「Animal」和「IQ」,並預填充兩列的數據,但顯示的代碼將所有列設置爲相同的值。如何爲多列WPF ListView指定硬編碼數據?

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

順便說一句:這是一個簡單的示例屏幕。因此,我並不想真正將編程方式與數據綁定。

在此先感謝。
戴夫。

回答

0

不知道如何在XAML中以聲明方式完成此操作,但是如果您不想將數據綁定到控件,則可以通過編程方式在代碼隱藏中添加項目。

this.AnimalsList.Items.Add(new ListViewItem { Content = "Pig" }); 
this.AnimalsList.Items.Add(new ListViewItem { Content = "Dog" }); 
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; } 
}