Это то, чем я закончил в своем маленьком тестовом проекте: я адаптирую его для использования в правильном коде.

аюсь использовать ComboBox в DataGrid, который позволит пользователю выбрать значение из другой таблицы. Я использую класс ViewModel в качестве DataContext, и он содержит ObservableCollection для терминалов и другой для TerminalTypes.

Привязка к сетке в порядке, все строки заполнены, и все DataGridTextColumns показывают правильные данные, однако мой ComboBox пуст.

Я знаю, что ObservableCollection, к которой я пытаюсь привязаться, заполнен, и если я перемещаю ComboBox за пределы DataGrid, он работает, как и ожидалось.

<my:DataGrid Name="MenuDetailGrid" AutoGenerateColumns="False" ItemsSource="{Binding Terminals}">
    <my:DataGrid.Columns>
        <my:DataGridTextColumn Header="Terminal Type ID" Binding="{Binding TERMINAL_TYPE_ID}" IsReadOnly="True" />
        <my:DataGridTemplateColumn Header="Terminal Type">
            <my:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ComboBox DisplayMemberPath="TTYPE_NAME" SelectedValuePath="TERMINAL_TYPE"
                              SelectedValue="{Binding TERMINAL_TYPE_ID}" 
                              ItemsSource="{Binding TerminalTypes}" />

                </DataTemplate>
            </my:DataGridTemplateColumn.CellTemplate>
        </my:DataGridTemplateColumn>

Очевидно, что поведение связывания в ComboBox отличается, когда он является частью DataGrid, но я немного озадачен, почему?

Может кто-нибудь, пожалуйста, помогите мне понять, что я делаю неправильно?

Ответы на вопрос(3)

Ваш ответ на вопрос