2016-09-20 5 views
0

をディスクに挿入して初期化しようとしたときに、WPF ListView(要素バインディングを使用)に問題が発生しました。私は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 = "{バインディングディスク名}"に変更する必要があります

関連する問題