私は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 コードで列とそのバインディングを指定したにもかかわらず、データが到着したときにすべてのプロパティが列を占有していることです。望ましい効果は、これらのバインドされたプロパティのみが表示されることです。