2016-09-20 87 views
0

我一直在遇到WPF ListView(使用元素綁定)的問題,因爲我試圖通過注入ItemsSource磁盤列表來初始化它,並且沒有從元素中獲得視覺反饋。我使用提供的示例here編寫了我的代碼。WPF ListView不起作用

下面是相關的代碼部分:

設置的ListView

private void viewDisk_Click(object sender, RoutedEventArgs e) 
    { 
     List<DiskDetails> data = new List<DiskDetails>(); 
     foreach(Disk disk in disks)    
      data.Add(new DiskDetails(disk.GetVolumeHeader().DiskName, disk.GetVolumeHeader().DiskOwner,disk.GetVolumeHeader().ProdDate));    
     disksList.ItemsSource = data; 
    } 

DiskDetails類

public class DiskDetails 
    { 
     public string diskName { get; set; } 
     public string diskOwner { get; set; } 
     public string cDate { get; set; } 
     public DiskDetails(string dN, string dO,string cD) 
     { 
      diskName = dN; 
      diskOwner = dO; 
      cDate = cD; 
     } 
    } 

WPF的ListView

<Grid Grid.Column="0"> 
     <ListView x:Name="disksList" VerticalAlignment="Top" Height="250" SelectionChanged="disksList_SelectionChanged"> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Disk Name" Width="108" DisplayMemberBinding="{Binding Name}" /> 
        <GridViewColumn Header="Disk Owner" Width="108" DisplayMemberBinding="{Binding Age}" /> 
        <GridViewColumn Header="Creation Date" Width="108" DisplayMemberBinding="{Binding Mail}" /> 
       </GridView> 
      </ListView.View> 
     </ListView> 
     <Button x:Name="viewDisk" Content="View Disk" Width="90" Height="40" VerticalAlignment="Bottom" Margin="0,0,0,15" Click="viewDisk_Click"/> 
    </Grid> 

謝謝。

回答

2

看起來像您的DisplayMemberBinding沒有從示例代碼中更改。嘗試更改綁定以匹配DiskDetails的屬性。例如。 DisplayMemberBinding =「{綁定名稱}」應更改爲DisplayMemberBinding =「{綁定磁盤名稱}」