我正在使用 WPF Toolkit 中的 DataGrid - 最新的一个。但是下面的代码不起作用
XAML 代码
<dg:DataGrid
Grid.Row="1"
Name="eventLogGrid"
Margin="5,0,5,0"
BorderBrush="Black"
ItemsSource="{Binding EventLogs}"
SelectionMode="Single"
IsReadOnly="True">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn
Binding="{Binding EventID}" Header="Event ID" />
<dg:DataGridTextColumn
Binding="{Binding Server}" Header="Server" />
<dg:DataGridTextColumn
Binding="{Binding Source}" Header="Source" />
<dg:DataGridTextColumn
Binding="{Binding Logged}" Header="Logged" />
</dg:DataGrid.Columns>
</dg:DataGrid>
C# 代码
public class EventLogItem
{
public long EventID { get; set; }
public string Name { get; set; }
public string Message { get; set; }
public Server Server { get; set; }
public string Source { get; set; }
public EventLogEntryType Level { get; set; }
public DateTime Logged { get; set; }
public string Machine { get; set; }
}
public List<EventLogItem> EventLogs
{
get { return (List<EventLogItem>)GetValue(EventLogsProperty); }
set { SetValue(EventLogsProperty, value);
}
这里真正的问题是,虽然我在 xaml 代码中指定了列及其绑定,但是当数据到达时,每个属性都占用一列。期望的效果是只显示那些绑定的属性。