Как привязать комбинированное окно к определенному элементу в списке ObservableCollection - WPF? - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть этот код:

C#:

public ObservableCollection<My_EDMX_Table> formatsList = new ObservableCollection<My_EDMX_Table>();

XAML:

<ComboBox 
    Grid.Row="1" 
    Grid.Column="5" 
    Margin="0, 5, 5, 5" 
    Name="CB_1" 
    ItemsSource="{Binding formatsList}"
    SelectedValue="{Binding formatsList[2], Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
    IsEnabled="True" 
    Opacity="1" 
    DisplayMemberPath="formatNaziv" 
    SelectionChanged="CB_1_SelectionChanged" />

Я хочу связать определенный элемент в списке, в данном случае первый элемент в formatList.Хотя приложение компилируется, я не получаю в поле со списком выбранное значение из списка ItemSource.

Как правильно связать наблюдаемую коллекцию и установить для компонента соответствующее значение?

1 Ответ

0 голосов
/ 26 сентября 2018

Как правильно связать наблюдаемую коллекцию и установить для компонента соответствующее значение?

Правильно было бы связать свойство SelectedItem ComboBox сисходное свойство модели представления, для которой вы установили formatsList[2] в классе модели представления.

Вы не решаете, какой элемент является "определенным" в представлении.Это модель представления, которая решает это и возвращает «определенный» вид, с которым затем связывается представление.Помните, что логика вашего приложения должна быть реализована в классе модели представления.

Если вы по какой-то причине всегда хотите изначально привязать к третьему элементу, вы можете также жестко кодировать свойство SelectedIndex в 2 вXAML.

...