Заполните Combobox с LinqToSql и выберите элемент из него - PullRequest
0 голосов
/ 12 мая 2019

Вот код для заполнения комбинированного списка Linq-to-SQL:

private void FillEmbCB()
{
    DataClasses1DataContext dc = new DataClasses1DataContext();

    var emb = from e in dc.EMBALLAGES
              select new
                     {
                          e.EMB_CODE,
                          e.EMB_LIB
                     };

    Emb1CB.ItemsSource = emb;
    Emb1CB.SelectedValuePath = "EMB_CODE";
    Emb1CB.DisplayMemberPath = "EMB_LIB";

    Emb1CB.SelectedItem = "HOUSSE PROTEC PALETTE"; // Nothing appears in the combobox
    dc.Dispose();
}

В конце этого кода я хочу выбрать элемент из только что заполненного списка и показать его в комбинированном списке, но ничего не появляется, этот комбинированный ящик всегда пуст.

Вот моя разметка Xaml:

<ComboBox x:Name="Emb1CB" Width="200" FontSize="12"
          SelectionChanged="Emb1CB_SelectionChanged"/>

1 Ответ

0 голосов
/ 12 мая 2019

SelectedValuePath используется для привязки данных (что вы должны делать вместо непосредственного управления GUI, как это, но это другое обсуждение).Если вы хотите установить SelectedItem самостоятельно, вам нужно установить значение для родительского объекта, который содержит значение, например:

using System.Linq;

Emb1CB.SelectedItem = emb.FirstOrDefault(x => x.EMB_CODE == "HOUSSE PROTEC PALETTE");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...