Заполните поле со списком в таблице данных - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть таблица данных 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 Ответ

1 голос
/ 10 ноября 2011

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

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

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

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

<ComboBox ItemsSource="{Binding 
          Source={x:Static local:MyStaticClass.MyComboBoxList}" />
...