2016-12-18 4 views
0

を空に:。WPFデータグリッドネストされたプロパティを示し、私はWPFのでネストされたプロパティをサポートしていることを考えるために使用されるが、何とかそれは空 を示してここに私のXAMLです

<DataGrid x:Name="storageGrid" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" AutoGenerateColumns="False" Height="351" Width="643"> 
         <DataGrid.Columns> 
         <DataGridTextColumn Header="Name" Binding="{Binding Product.Name}" Width="100" /> 
         <DataGridTextColumn Header="Quantity" Binding="{Binding Quantity}" Width="100" /> 
         </DataGrid.Columns> 
        </DataGrid> 

フォームがロードされると、私はInitializeDataを呼び出します方法は、次のようになります。

public void InitializeData() 
    { 
     storageGrid.Items.Clear(); 

     var dbStorages = Repository.Storages(); 
     foreach (var storage in dbStorages) 
     { 
      Storages.Add(storage); 
     } 
     storageGrid.ItemsSource = Storages; 
     storageGrid.Items.Refresh(); 

    } 

ストレージはローカルリストプロパティです。 WPF DataGrid shows the property correctly, but the nested property is empty

がどのようにデータグリッドは、ネストされた製品の名前を表示しますか:私はアプリを起動すると

public partial class Storage 
{ 
    public Nullable<int> ProductId { get; set; } 
    public Nullable<int> Quantity { get; set; } 
    public Nullable<int> RoomId { get; set; } 
    public int EntryId { get; set; } 

    public virtual Product Product { get; set; } 
    public virtual Room Room { get; set; } 
} 
} 

、ここで私が見る絵だ:私はEntity FrameworkのDatabseファーストクラスを使用しています、ここではストレージの定義です? (

+0

どのタイプが 'Storages'ですか? – Fruchtzwerg

+0

@Fruchtzwergリスト

答えて

0

問題が遅延ロードだったので、私は私のRepository.Storagesに含めるステートメントを追加するために必要な)このような方法:

return ctx.Storages.Include(s => s.Product).ToList(); 

私はまた、そのよう

using System.Data.Entity; 

を追加する必要が私はラムダを使ったインクルード拡張メソッドを手に入れます

関連する問題