WPF ComboBox set SelectedItem - PullRequest
       3

WPF ComboBox set SelectedItem

0 голосов
/ 18 марта 2019

У меня есть выпадающий список, в котором я связываю свою модель.Я использую DataTemplate для отображения данных

<ComboBox x:Name="comboBoxShift">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding ShiftId}" Visibility="Hidden"/>
                    <TextBlock Text="{Binding ShiftType}"/>                        
                </StackPanel>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

и связываю их с comboBoxShift.ItemsSource = _db.Shifts.ToList();, где _db - это контекст моей базы данных.

Из другого окна я передаю ShiftId.Как установить текущий элемент в выпадающем списке для отображения ShiftType.

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Я считаю, что ваш дизайн немного испорчен. Вам не нужно использовать шаблон данных для ваших целей, а просто установить DisplayMemeberPath.

XAML

<ComboBox x:Name="comboBoxShift" DisplayMemberPath="ShiftType">

Затем выбрать из кода

comboBoxShift.SelectedItem = My_Shift;

Примечание. Если вы хотите получить объект Shift из выбранного элемента комбинированного списка, то вот как вы это сделаете.

Shift shift = (Shift)comboBoxShift.SelectedItem;
0 голосов
/ 18 марта 2019

Поскольку вы скрываете один из текстовых блоков, это даст желаемый результат:

<ComboBox x:Name="comboBoxShift" DisplayMemberPath="ShiftType">

</ComboBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...