Заполните комбинированный список в сетке данных
У меня есть таблица данных 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}" />