我将以下模型类设置为我的 DataGrid
的来源:
public class AttributesModel
{
public string Field { get; private set; }
[Display(Name = "Sort Order")]
public SortOrder SortBy { get; set; }
[Display(Name = "Group By")]
public string GroupBy { get; set; }
[Display(Name = "Having")]
public string Having { get; set; }
[Display(Name = "Display Order")]
public string DisplayOrder { get; set; }
[Display(Name = "Aggregate By")]
public Aggregate AggregateBy { get; set; }
public enum Aggregate
{
None,
Sum,
Minimum,
Maximum,
Average
}
public enum SortOrder
{
Unsorted,
Ascending,
Descending
}
public AttributesModel(string field)
{
Field = field;
}
}
我基本上试图绑定我的DataGrid中的列与上面的prpoerties . 它们都工作,除了为组合框列设置的 enums
.
我似乎无法让组合框结合起来 . 这就是我尝试过的:
<DataGridComboBoxColumn Width="Auto" CanUserResize="False" CanUserReorder="False" CanUserSort="False" IsReadOnly="False" ItemsSource="{Binding ElementName=AttributesWindow, Path=SortOrder}">
<DataGridComboBoxColumn.Header>Order</DataGridComboBoxColumn.Header>
</DataGridComboBoxColumn>
1 回答
ItemsSource期望
IEnumerable
值,enum
不是IEnumerable
. 试试这个: