Заполните комбинированный список в сетке данных

У меня есть таблица данных WPF, заполненная данными из одной таблицы SQL с использованием Entity Framework. Можно ли заполнить комбинированный список в той же таблице данных, используя данные из другой таблицы.

У меня этот код работает

                <DataGridTemplateColumn x:Name="reasonColumn" Header="Reason" Width="Auto">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox>
                            <ComboBoxItem Content="Supplier Quantity"/>
                            <ComboBoxItem Content="Supplier Price"/>
                            <ComboBoxItem Content="Supplier Numbers"/>
                            <ComboBoxItem Content="Supplier Codes"/>
                            <ComboBoxItem Content="Branch Quantity"/>
                            <ComboBoxItem Content="Branch Numbers"/>
                            <ComboBoxItem Content="Branch Codes"/>
                            <ComboBoxItem Content="IM Numbers"/>
                            <ComboBoxItem Content="Pop Prices"/>
                        </ComboBox>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

Но я бы предпочел, чтобы он был динамично заселен.

Благодарю.

1 ответ

Решение

Да, просто свяжи ComboBox.ItemsSource туда, где ваша коллекция

Например, это будет связывать коллекцию из DataContext вашей DataGrid:

<ComboBox ItemsSource="{Binding DataContext.MyComboBoxList, 
          RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />

В качестве другого примера, это будет привязка к статическому классу, содержащему вашу коллекцию

<ComboBox ItemsSource="{Binding 
          Source={x:Static local:MyStaticClass.MyComboBoxList}" />
Другие вопросы по тегам