1 回答

TA贡献1788条经验 获得超4个赞
根据您的要求,我简化了绑定步骤。请检查以下代码。
Xaml代码
<controls:DataGrid
x:Name="MyDataGrid"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
AlternatingRowBackground="Transparent"
AlternatingRowForeground="Gray"
AreRowDetailsFrozen="False"
AreRowGroupHeadersFrozen="True"
AutoGenerateColumns="False"
CanUserReorderColumns="True"
CanUserResizeColumns="True"
CanUserSortColumns="False"
ColumnHeaderHeight="32"
FrozenColumnCount="0"
GridLinesVisibility="None"
HeadersVisibility="Column"
HorizontalScrollBarVisibility="Visible"
IsReadOnly="False"
Loaded="DataGrid_Loaded"
MaxColumnWidth="400"
RowDetailsVisibilityMode="Collapsed"
RowGroupHeaderPropertyNameAlternative="Range"
SelectionMode="Extended"
VerticalScrollBarVisibility="Visible"
>
<controls:DataGrid.RowGroupHeaderStyles>
<Style TargetType="controls:DataGridRowGroupHeader">
<Setter Property="Background" Value="LightGray" />
</Style>
</controls:DataGrid.RowGroupHeaderStyles>
<controls:DataGrid.Columns>
<controls:DataGridTextColumn
Binding="{Binding Id}"
Header="Id"
Tag="Id"
/>
<controls:DataGridTextColumn
Binding="{Binding Title}"
Header="Title"
Tag="Title"
/>
<controls:DataGridComboBoxColumn
Binding="{Binding Link}"
Header="Link"
Tag="Link"
/>
<controls:DataGridTextColumn
Binding="{Binding Type}"
Header="Type"
Tag="Type"
/>
<controls:DataGridTextColumn
Binding="{Binding Remark}"
Header="Remark"
Tag="Remark"
/>
<controls:DataGridTextColumn
Binding="{Binding Time}"
Header="Time"
Tag="Time"
/>
</controls:DataGrid.Columns>
</controls:DataGrid>
模型类
public class Item
{
public string Id { get; set; }
public string Title { get; set; }
public string Link { get; set; }
public string Type { get; set; }
public string Remark { get; set; }
public string Time { get; set; }
}
数据处理
private ObservableCollection<Item> Items;
private void DataGrid_Loaded(object sender, RoutedEventArgs e)
{
using (var reader = new StreamReader("Assets\\Archive.csv",true))
using (var csv = new CsvReader(reader))
{
var records = csv.GetRecords<Item>();
Items = new ObservableCollection<Item>(records);
}
MyDataGrid.ItemsSource = Items;
}
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报