2012-08-24 25 views
0

你們是如此的有幫助,我有一些麻煩綁定到列表視圖,並想知道如果有人可以幫助我,這裏是我的代碼。需要幫助綁定到WPF列表視圖

這裏是XAML

<ListView Name="ListView" Margin="0,0,16,145" ItemsSource="{Binding EmailCollection}" AllowDrop="True" HorizontalAlignment="right" Width="704" IsEnabled="True" Background="White" Foreground="Black" BorderBrush="#FF313131"> 

     <ListView.View> 
      <GridView> 

       <GridViewColumn DisplayMemberBinding="{Binding Pic}" Width="140" Header="Picture"/> 
       <GridViewColumn DisplayMemberBinding="{Binding Person}" Width="140" Header="Person" /> 
       <GridViewColumn DisplayMemberBinding="{Binding Email}" Width="200" Header="Email" /> 
       <GridViewColumn DisplayMemberBinding="{Binding Location}" Width="160" Header="Location" /> 
       <GridViewColumn DisplayMemberBinding="{Binding Age}" Width="50" Header="Age" /> 
      </GridView> 
     </ListView.View> 
    </ListView> 

這裏我試圖將項目添加到人物列,但它說system.windows.controls.listviewitem不包含個人也許我失去了一些東西的定義?

ListView.Items.Add(new ListViewItem {Person = t.InnerHtml}); 

回答

1

如果ListView綁定到一個items集合,那麼你不能直接添加它。相反,做到以下幾點:

  1. 確保EmailCollection的類型是ObservableCollection
  2. 直接添加新的項目源EmailCollection
+0

感謝,你能解釋,在代碼中,我已經,這前幾天工作正常,不記得我之前做了什麼,唯一的區別是我從MySQL提取數據。 –

+0

@chuckakers我想不出如何工作 - 該語法是說「創建一個新的對象,並指定它的屬性* Person *」...只有ListViewItem沒有該屬性。 – McGarnagle

+0

@chuckakers另外...你可以使用* ListView.Items.Add(new EmailItem {Person = t.InnerHtml})*,但是我相信你會得到一個不同的錯誤(不能添加到綁定的ListView到一個ItemsSource)。 – McGarnagle