WPF Datagrid не связывает вложенное свойство

386
21 декабря 2016, 01:11

Насколько я понимаю, WPF должен связывать с вложенным свойством через точку, но тем не менее,у меня в DataGrid отображается пустое поле: Ниже дан 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>

Я использую классы, сгенерированные Entity Framework 6, подход Database First. Ниже определение Storage:

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; }
}
}

Вот как я беру Storage из базы:

 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 правильно отображать поле Product.Name?

Answer 1

Проблемы были с ленивой загрузкой, но когда я ее отключал, авторизация улетала, поэтому я изменил Repository.Storages() следующим образом:

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

Ну и в юзингах добавил

using System.Data.Entity;

Чтобы получить extension метода Include с лямбдочкой ^^

READ ALSO
Задать url на серверной стороне в ViewResult

Задать url на серверной стороне в ViewResult

В Home контроллере есть два метода:

299
Изменить цвет символов в textbox&#39;e

Изменить цвет символов в textbox'e

Каким образом поменять цвет в textboxe'e лишь отдельных слов и символов , а не в целом?

337
Бегущая строка на ASP-странице [требует правки]

Бегущая строка на ASP-странице [требует правки]

День добрый! Есть веб-приложение с использованием ASPNET и БД на PostgreSQL (Прилагаю архив во вложении)

333
NuGet консоль не работает: An error occurred while creating the pipeline. Как исправить?

NuGet консоль не работает: An error occurred while creating the pipeline. Как исправить?

Здравствуйте, возникла проблема с Visual Studio, а в частности с консолью NuGetПри запуске консоли выскакивает данное сообщение: An error occurred while creating...

302