У меня есть класс, который содержит в себе список других классов, и я хочу, чтобы иметь возможность использовать этот список в качестве источника элементов для datagrid в WPF. Возможно ли, чтобы внутренний список других классов появлялся в выпадающем списке или выпадающем списке. Я мог бы просто показать другую подформу, когда пользователь нажимает на столбец, содержащий коллекцию, но было бы более элегантно, если бы я мог просто увидеть и отредактировать коллекцию на месте в основной сетке.Показать список списков в datagrid с WPF
Это то, что мой класс выглядит следующим образом:
private string ChainID = string.Empty;
private string Chain = string.Empty;
private string State = string.Empty;
private string NonMerchID = string.Empty;
private string ReceiptText = string.Empty;
private string Amount = string.Empty;
**private List<string> CT1 = new List<string>(5);**
private string RecyclingFeeFlag = string.Empty;
private string MinPrompt = string.Empty;
private string MaxPrompt = string.Empty;
СТ1, где моя проблема.
Итак, мой XAML теперь выглядит следующим образом:
<DataGrid AutoGenerateColumns="False" Height="289" HorizontalAlignment="Left" Margin="10,10,0,0" Name="dataGrid1" VerticalAlignment="Top"
Width="481" ItemsSource="{Binding nonMerchData}">
<DataGrid.Columns>
<DataGridTextColumn Header="Chain ID" Binding="{Binding Path=chainID}"></DataGridTextColumn>
<DataGridTextColumn Header="Chain" Binding="{Binding Path=chain}"></DataGridTextColumn>
<DataGridTextColumn Header="State" Binding="{Binding Path=state}"></DataGridTextColumn>
<DataGridTextColumn Header="Non Merch ID" Binding="{Binding Path=nonMerchID}"></DataGridTextColumn>
<DataGridTextColumn Header="Receipt Text" Binding="{Binding Path=receiptText}"></DataGridTextColumn>
<DataGridTextColumn Header="Amount" Binding="{Binding Path=amount}"></DataGridTextColumn>
<DataGridComboBoxColumn Header="CT" x:Name="_CT"></DataGridComboBoxColumn>
<DataGridTextColumn Header="Recycling Fee Flag" Binding="{Binding Path=recyclingFeeFlag}"></DataGridTextColumn>
<DataGridTextColumn Header="Min Prompt" Binding="{Binding Path=minPrompt}"></DataGridTextColumn>
<DataGridTextColumn Header="Max Prompt" Binding="{Binding Path=maxPrompt}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Это все работает отлично, за исключением я не могу понять, как связать свой внутренний список в столбце COMBOX.
Опубликовать соответствующий XAML. –
В дополнение к комментарию @ HighCore вы пробовали DataGridComboBoxColumn? Кажется естественным кандидатом –