我使用WPF工具包中的DataGrid - 最新的一个。但是,下面的代码是不工作WPF 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代码的结合,但是当数据到达后,每个属性都占据一列。所需的效果是只显示了所绑定的属性。
什么是[绑定错误](http://www.zagstudio.com/blog/486) – Tilak
绑定是不是被通知添加到集合中的新元素?如果您使用'ObservableCollection'而不是'List ',会发生什么? –
ceyko
好吧,我会尝试使用它。这里的问题是,当我设置EventLogs属性时,显示的所有属性而不是我绑定的那4列真的很令人沮丧。 – imgen