C # WPF привязка DataGrid к SelectedItem из другого DataGrid - PullRequest
0 голосов
/ 20 марта 2019

У меня есть два элемента DataGrid.Первый загружается с данными товара, а второй должен отображать дополнительные данные, основанные на SelectedItem первой DataGrid.

Связывание первого DataGrid с данными товара работает отлично.

Теперь у меня есть второй, который должен отображать больше данных в зависимости от выбора первого.В ViewModel.cs я создал следующее:

    public BindableCollection<ArticleDataModel> ArticleDataList {
        get; set;
    }

    public BindableCollection<QuantityModel> WarehouseQuantityList {
        get; set;
    }


    private ArticleDataModel currentSelection;

    public ArticleDataModel CurrentSelection {
        get {
            return currentSelection;
        }
        set {
            currentSelection = value;
            NotifyOfPropertyChange(() => currentSelection);
            this.LoadQuantity();
        }
    }

Первый DatagridView связан с ArticleDataList , все данные отображаются правильно.При выборе набора данных я вижу в отладчике, что вызывается метод LoadQuantity () и что WarehouseQuantityList содержит все данные.

Однако данные мне не отображаются, даже строки записей не отображаются.

Привязка в XAML выглядит следующим образом:

<!-- Artikel ListView -->
<DataGrid Grid.Column="0" Grid.Row="0"
    x:Name="ArticleDataList"
    AutoGenerateColumns="False"
    AlternatingRowBackground="#fafafa"
    FontSize="14"
    RowBackground="#eee"
    HorizontalGridLinesBrush="#ddd"
    VerticalGridLinesBrush="#ddd"
    RowHeaderWidth="0"
    SelectionMode="Single"
    SelectionUnit="FullRow"
    SelectedItem="{Binding CurrentSelection}">

и

<DataGrid x:Name="WarehouseQuantityList"
    AutoGenerateColumns="False"
    AlternatingRowBackground="#fafafa"
    FontSize="14"
    RowBackground="#eee"
    HorizontalGridLinesBrush="#ddd"
    VerticalGridLinesBrush="#ddd"
    RowHeaderWidth="0"
    SelectionMode="Single"
    SelectionUnit="FullRow">

Обе привязки оба раза превышают x: Имя , элементы связаныкак это:

<DataGridTextColumn Header="Lagerplatz" Width="250" Binding="{Binding Path=Lagerplatz}"/>

Привязка технически одинакова для обоих, но я не получаю никаких ошибок или исключений.Загруженные данные верны и также доступны в WarehouseQuantityList.Только DataGrid их не видит.Поэтому я предполагаю, что совершаю ошибку, просто не знаю где?

Я всегда открыт для подсказок: -)

...