我有一个像这样的模型类:
public class AttributesModel
{
public SortOrder SortBy { get; set; }
public enum SortOrder
{
Unsorted,
Ascending,
Descending
}
public AttributesModel(string field)
{
Field = field;
}
}
还有一个 DataGrid,其中包含一个 Combobox 作为列之一,如下所示:
<DataGridTemplateColumn Width="Auto" IsReadOnly="False" Header="Order">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=AttributesModel}" DisplayMemberPath="SortBy" SelectedValuePath="SortBy" SelectedValue="{Binding Path=AttributesModel}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
包含 DataGrid 的类还具有以下构造函数:
DataContext = this;
itemsSource = new ObservableCollection<AttributesModel>(parentDatabaseTable.ListFields.Select(f => new AttributesModel(f)));
出于某种原因,我的 DataGrid 中的所有字段都在填充,但组合框除外。请注意,为了简单和可读性,我没有包含模型类中其他字段的代码,也没有包含 DataGrid 中的列。除了组合框列之外,它们都已成功填充。有任何想法吗?